English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Schneidenist eine veränderbare Länge Sequenz, um ähnliche Typen von Elementen zu speichern und es ist nicht erlaubt, verschiedene Typen von Elementen im selben Schneiden zu speichern. Wie ein mit Index und LängeArraywie, aber der Größe des Schneidens kann angepasst werden, und sie sind nicht so wie Arrays in einer festen Größe. In der Sprache Go können Sie Schneiden anFunktion, was bedeutet, dass die Funktion eine Kopie des Schneidens erhält.
Der Schneiden wird zusammen mit dem Wert, der Kapazität und der Länge des Schneidens als Wert an die Funktion übergeben, und der Schneiden-Pfeil weist stets auf das Basisschema hin. Daher wird, wenn wir einige Änderungen an dem Schneiden vornehmen, das durch Wert an die Funktion übergeben wird, spiegelt sich dies auch im Schneiden außerhalb der Funktion wider. Lassen Sie uns mit einem Beispiel diesen Begriff diskutieren:
//Ein Schneiden an die Funktion übergeben package main import "fmt" //Funktion, in der sich der Schneiden befindet //Durch Wert übergeben func myfun(element []string) { //Gegebenen Schneiden ändern element[2] = "Java" fmt.Println("Geänderte Schere: ", element) } func main() { //Schneiden erstellen slc := []string{"C#", "Python", "C", "Perl"} fmt.Println("Anfängliche Schere: ", slc) //Schneiden an die Funktion übergeben myfun(slc) fmt.Println("Endliche Schere:", slc) }
Ausgabe:
Anfängliche Schere: [C# Python C Perl] Geänderte Schere: [C# Python Java Perl] Endliche Schere: [C# Python Java Perl]
Verwendungshinweis:Im obigen Beispiel haben wir einen Schneiden namens slc. Dieser Schneiden wird durch die Funktion myfun() übergeben. Wie wir wissen, weist der Schneiden-Pfeil immer auf denselben Verweis hin, selbst wenn er in der Funktion übergeben wird. Daher wird, wenn wir den Wert C, der Indexwert2Wenn auf Java geändert wird. Diese Änderung spiegelt auch den Schneiden außerhalb der Funktion wider, daher ist der letzte geänderte Schneiden [c# Python Java perl].
//Schneiden an die Funktion übergeben package main import "fmt" //Durch Wert übergeben func myfun(element []string) { //Hier ändern wir nur den Schneiden //Verwenden Sie die append-Funktion //Hier ändert diese Funktion nur //Kopie des im Inneren befindlichen Schneidens //Diese Funktion ändert den ursprünglichen Schneiden nicht element = append(element, "Java") fmt.Println("Geänderte Schere: ", element) } func main() { //Schneiden erstellen slc := []string{"C#", "Python", "C", "Perl"} fmt.Println("Anfängliche Schere: ", slc) //Schneiden übergeben //Zur Funktion myfun(slc) fmt.Println("Endliche Schere: ", slc) }
Ausgabe:
Anfängliche Schere: [C# Python C Perl] Geänderte Schere: [C# Python C Perl Java] Endliche Schere: [C# Python C Perl]