package main import ( "fmt" ) type Foo struct{ A1 *int A2 *int A3 int A4 int } func foo(a int) Foo { p1 := &a p2 := &a p3 := &a p4 := &a fmt.Println(p1) fmt.Println(p2) fmt.Println(p3) fmt.Println(p4) f := Foo{ A1: p1, A2: p2, A3: *p3, A4: *p4, } fmt.Println(f.A1) fmt.Println(f.A2) return f } func main() { f := foo(42) fmt.Println(f.A1) fmt.Println(f.A2) }
0x10414020 0x10414020 0x10414020 0x10414020 0x10414020 0x10414020 0x10414020 0x10414020
&
で同じところを見るようになるのかな。ってか当たり前か。