需求
實際運用種,傳參是一對象指針,現在如何最簡便地復制一對象?
實現
坑:&* 先拿到值再指針?
package main import ( "time" "log" ) func main() { T1 := &TestS{1} T2 := &*T1 T2.a = 5 log.Print(T1) log.Print(T2) }
輸出
2017/06/15 20:14:27 &{5}
2017/06/15 20:14:27 &{5}
正確:先*T 再&T
package main import ( "time" "log" ) func main() { T1 := &TestS{1} T2 := *T1 T3 := &T2 //改動地方 T3.a = 5 log.Print(T1) log.Print(T3) }
輸出
2017/06/15 20:16:55 &{1}
2017/06/15 20:16:55 &{5}