我有一個(gè)復(fù)雜的數(shù)據(jù)結(jié)構(gòu),它定義了一個(gè)類型P,我想對(duì)這種數(shù)據(jù)結(jié)構(gòu)的一個(gè)實(shí)例進(jìn)行深度復(fù)制。我找到了這個(gè)庫,但是,考慮到 Go 語言的語義,像下面這樣的方法不會(huì)更慣用嗎?:func?(receiver?P)?copy()?*P{
??return?&receiver
}由于該方法接收類型P的值(并且值始終通過副本傳遞),因此結(jié)果應(yīng)該是對(duì)源的深層副本的引用,如本例所示:src?:=?new(P)
dcp?:=?src.copy()的確,src?!=?dst?=>?true
reflect.DeepEqual(*src,?*dst)?=>?true
如何深度復(fù)制對(duì)象
哆啦的時(shí)光機(jī)
2023-06-05 19:37:02