Erstellen tiefer Kopien von Karten in Go
Sie können zwar manuell eine Kopie einer Karte erstellen, es kann jedoch bequemer sein, erstellte Karten zu verwenden -in Funktionen oder Bibliotheken.
Eingebaut Funktionen
Leider gibt es in Go keine integrierte Funktion speziell zum Erstellen von Kopien beliebiger Karten.
Bibliotheken und Pakete
import ( "bytes" "encoding/gob" "fmt" ) func main() { ori := map[string]int{ "key": 3, "clef": 5, } // Encode the original map var mod bytes.Buffer enc := gob.NewEncoder(&mod) err := enc.Encode(ori) if err != nil { fmt.Println("Failed to encode map:", err) return } // Decode the encoded map into a new variable (deep copy) var cpy map[string]int dec := gob.NewDecoder(&mod) err = dec.Decode(&cpy) if err != nil { fmt.Println("Failed to decode map:", err) return } // Modify the copied map to demonstrate they are independent cpy["key"] = 2 fmt.Println("Original map:", ori) fmt.Println("Copied map:", cpy) }
Mit einem dieser Ansätze können Sie bequem tiefe Kopien von Karten in Go erstellen.
Das obige ist der detaillierte Inhalt vonWie erstelle ich tiefe Kopien von Karten in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!