Wenn ich ein Typ wie definiert haben:Wie klont man eine Struktur mit nicht exportiertem Feld?
type T struct {
S string
is []int
}
wie kann ich dann über das Klonen ein Objekt dieser Art gehen? Wenn ich eine einfache Zuordnung zu tun:
p := T{"some string", []int{10, 20}}
q := p
Dann werden alle Änderungen an den []int
beide Objekte beeinflussen. Da T.is
nicht exportiert wird, kann es nicht explizit kopiert werden, selbst wenn es mit reflect extrahiert wird.
Ich liefere derzeit eine Clone
Methode im Paket des Typs selbst. Aber das hilft nicht mit ähnlichen Typen in anderen Paketen. Gibt es einen anderen Weg, dies zu tun?