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

Golang-Slice-Methode Op

WBOY
WBOYOriginal
2023-05-14 14:40:38559Durchsuche

【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

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)

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)
}

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

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")
  • Das Ausgabeergebnis ist:
  • arr := []string{"hello", "world", "go"}
    
    arr = append(arr[:1], arr[2:]...)
  • [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)

Das Ausgabeergebnis ist:

[hello Golang go]

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))

Das Ausgabeergebnis lautet:

3

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))

Das Ausgabeergebnis lautet:

5

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)

Das Ausgabeergebnis ist:

[apple banana orange]

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)

Die Ausgabe Das Ergebnis ist:
    [hello world go Golang]
  • [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!

Stellungnahme:
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