golang 復制對象的正確做法


需求

  實際運用種,傳參是一對象指針,現在如何最簡便地復制一對象?

實現

  :&*  先拿到值再指針?

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}

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM