慕容森
我不相信这是不一样的。package mainimport "fmt"type G struct {}func foo(g *G) (*G, error) { return &(*g), nil}func bar(g *G) (*G, error) { obj := (*g) return &obj, nil}func main() { g := &G{} a, _ := foo(g) b, _ := bar(g) fmt.Printf("a: %p, b: %p\n", a, b) // gives the same pointer value}