Heim > Backend-Entwicklung > Golang > Golang-Slice-Methode Op

Golang-Slice-Methode Op

WBOY
Freigeben: 2023-05-14 14:40:38
Original
548 Leute haben es durchsucht

【Vorwort】

Slice ist in der Go-Sprache eine sehr verbreitete Datenstruktur und wird häufig für dynamische Array-Operationen verwendet. Bei der Verwendung müssen wir häufig Vorgänge wie das Hinzufügen, Löschen, Überprüfen und Ändern von Slices ausführen, und die Go-Sprache bietet einige integrierte Methoden zum Implementieren dieser Vorgänge. In diesem Artikel werden die grundlegende Verwendung und die gängigen Slicing-Methoden in der Go-Sprache ausführlich vorgestellt.

【1. Definition von Slice】

Ein Slice ist eine Sequenz variabler Länge, definiert als:

var arr []type
Nach dem Login kopieren

Der Typ hier kann ein beliebiger Typ sein, z. B. int, string usw. Sie können auch die Methode make() verwenden, um direkt ein Slice zu erstellen:

arr := make([]type, len, cap)
Nach dem Login kopieren

wobei len die Länge des Slice und cap die Kapazität des Slice darstellt. Hierbei ist zu beachten, dass die Kapazität des Slice größer oder gleich der Länge ist. 2. Grundoperationen beim Schneiden

Zu dem Slice hinzufügen Elemente können die append()-Methode verwenden, wie unten gezeigt:

arr := []string{"hello", "world", "go"}

for index, value := range arr {
    fmt.Printf("index:%d, value:%s
", index, value)
}
Nach dem Login kopieren

Hier ist zu beachten, dass nach Verwendung der append()-Methode deren Rückgabewert dem Slice neu zugewiesen werden muss.

2.3 Löschen von Slices

Um Elemente in einem Slice zu löschen, können Sie die integrierte Methode delete() verwenden, wie unten gezeigt:

index:0, value:hello
index:1, value:world
index:2, value:go
Nach dem Login kopieren

Die Syntax hier ist sehr knifflig, wir können sie in drei Teile unterteilen:

arr [:1]: repräsentiert die Elemente von 0 bis 1 (außer 1), also „Hallo“

arr[2:]: repräsentiert die Elemente von 2 bis zum letzten Element des Arrays (außer 2). ), das heißt „go“;

...bedeutet, zwei Slices zusammenzuführen.

Das Endergebnis ist das Löschen des Elements „world“ mit Index 1.

2.4 Änderung von Slices
  • Um die Elemente im Slice zu ändern, können Sie Werte direkt über Indizes zuweisen, wie unten gezeigt:
  • var arr []string
    arr = append(arr, "hello")
    Nach dem Login kopieren
  • Das Ausgabeergebnis ist:
  • arr := []string{"hello", "world", "go"}
    
    arr = append(arr[:1], arr[2:]...)
    Nach dem Login kopieren
  • [3. Gängige Slicing-Methoden]
Listen Sie hier einige häufig verwendete Slicing-Methoden auf:

3.1 len()-Methode

len()-Methode wird verwendet, um die Länge des Slice zu ermitteln. Das Codebeispiel lautet wie folgt:

arr := []string{"hello", "world", "go"}

arr[1] = "Golang"

fmt.Println(arr)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

[hello Golang go]
Nach dem Login kopieren

3.2 cap()-Methode

cap()-Methode Wird verwendet, um die Kapazität eines Slice zu erhalten. Das Codebeispiel lautet wie folgt:

arr := []string{"hello", "world", "go"}

fmt.Println(len(arr))
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

3
Nach dem Login kopieren

3.3 copy()-Methode

copy()-Methode kann Kopieren Sie den Wert eines Slice in ein anderes Slice. Das Codebeispiel lautet wie folgt:

arr := make([]string, 3, 5)

fmt.Println(cap(arr))
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

5
Nach dem Login kopieren

3.4 append()-Methode

append()-Methode wird zum Hinzufügen von Elementen zum Slice verwendet Beispiel ist wie folgt:

var arr1 = []string{"apple", "banana", "orange"}

var arr2 = make([]string, 3)

copy(arr2, arr1)

fmt.Println(arr2)
Nach dem Login kopieren

Das Ausgabeergebnis ist:

[apple banana orange]
Nach dem Login kopieren

3.5 append()-Methode und Erweiterung

Wenn die Kapazität des Slice nicht ausreicht, um das neue Element aufzunehmen, erweitert die append()-Methode die Kapazität automatisch . Die Erweiterungsbedingungen sind:

Wenn die Länge des neuen Elements kleiner als 1024 ist, wird die Kapazität des Slice verdoppelt.

Wenn die Länge des neuen Elements größer oder gleich 1024 ist , jede Erweiterung erhöht sich um 1/4 der ursprünglichen Kapazität, bis die Kapazität ausreicht.

3.6 Variable Parameter der append()-Methode

Die Eingabeparameter der append()-Methode können variable Parameter sein und dem Slice können mehrere Elemente hinzugefügt werden. Das Codebeispiel lautet wie folgt:

arr := []string{"hello", "world", "go"}

arr = append(arr, "Golang")

fmt.Println(arr)
Nach dem Login kopieren

Die Ausgabe Das Ergebnis ist:
    [hello world go Golang]
    Nach dem Login kopieren
  • [Zusammenfassung]
  • Dieser Artikel bietet eine detaillierte Einführung in die grundlegende Verwendung und die gängigen Slicing-Methoden in der Go-Sprache. Ich hoffe, dass er für alle hilfreich ist. Im tatsächlichen Code kann der flexible Einsatz von Slicing unseren Code prägnanter und effizienter machen.
  • Das obige ist der detaillierte Inhalt vonGolang-Slice-Methode Op. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage