Avatar ·

Wie kombiniert man zwei Slices in Go? Slice-Konkatenation

Hallo! Ich habe gerade angefangen, Go zu lernen, und bin auf ein Problem gestoßen. Ich muss zwei Slices zu einem zusammenführen. In Python würde ich einfach `list1 + list2` schreiben, aber in Go gibt es, wie ich verstanden habe, keine solche Operation. Ich habe zwei Slices von ganzen Zahlen: ```go slice1 := []int{1, 2, 3} slice2 := []int{4, 5, 6} ``` Ich möchte das Ergebnis erhalten: `[1 2 3 4 5 6]`. Ich habe versucht, den `+`-Operator zu verwenden, aber der Compiler gibt einen Fehler aus: `invalid operation: slice1 + slice2 (operator + not defined on slice)`. Dann bin ich auf die Funktion `append` gestoßen, aber sie fügt Elemente einzeln hinzu. Eine Schleife für jedes Element zu schreiben – ist das nicht ineffizient? Gibt es vielleicht eine eingebaute Methode oder eine idiomatische Lösung in Go? Und noch eine Frage: Wenn ich `append` verwende, hat das Auswirkungen auf die ursprünglichen Slices? Ist das neue Slice eine unabhängige Kopie? Sag mir bitte, wie man Slices in Go richtig kombiniert und was dabei mit dem Speicher passiert? Vielen Dank im Voraus!