cmsmdn 2020-06-05
package main
import "fmt"
type OBJ struct {
A string
B *int
}
func main() {
var data int = 0
addr := &data
obj1 := OBJ{
A: "aaa",
B: addr,
}
obj2 := OBJ{
A: "bbb",
B: addr, //与obj1的B指向了同一地址
}
*(obj1.B) = 1 //用obj1修改data的值
fmt.Printf("value is %+v\n", obj1)
fmt.Printf("value is %+v\n", obj2)
fmt.Println(*(obj2.B)) //从obj2的B获取的值也变量了1
}