Heim  >  Artikel  >  Backend-Entwicklung  >  Lassen Sie uns über die Verwendung der Golang-Slicing-Methode sprechen

Lassen Sie uns über die Verwendung der Golang-Slicing-Methode sprechen

PHPz
PHPzOriginal
2023-03-29 11:26:34589Durchsuche

Slices in der Go-Sprache (Golang) sind dynamische Arrays, die automatisch wachsen und schrumpfen können. Ein Slice ist eine Struktur, die einen Zeiger auf das zugrunde liegende Array, die Anzahl der Elemente und die Kapazität kapselt.

Da die Implementierung des Slicings auf dem zugrunde liegenden Array basiert, unterliegen die Slicing-Vorgänge weitgehend dem zugrunde liegenden Array. In diesem Artikel besprechen wir einige gängige Slicing-Methoden und deren Verwendung.

  1. Erstellen eines Slice

Zuerst müssen wir ein Slice erstellen. Es gibt zwei Möglichkeiten, Slices zu erstellen: mit der Make-Funktion und direkter Deklaration.

Verwenden Sie die Make-Funktion:

a := make([]int, 5) //Erstellen Sie ein ganzzahliges Slice der Länge 5

Die Make-Funktion akzeptiert zwei Parameter: Der erste Parameter ist der Typ des Slice-Elements und Der zweite Parameter ist der Typ des Slice-Elements. Die beiden Parameter sind die Länge des Slice. Wenn Sie die Kapazität angeben möchten, können Sie den dritten Parameter übergeben:

b := make([]string, 5, 10) //Erstellen Sie ein String-Slice mit einer Länge von 5 und einer Kapazität von 10

Direkt deklarieren :

c := []int{1, 2, 3, 4, 5} //Erstelle ein ganzzahliges Slice mit 5 Elementen

Beachten Sie, dass die Länge und Kapazität des auf diese Weise erstellten Slice gleich sind.

  1. Zugriff auf Slices

Der Zugriff auf Slice-Elemente über den Index ist derselbe wie für Arrays. Um beispielsweise auf das erste Element zuzugreifen, können Sie folgendermaßen vorgehen:

fmt.Println(c[0])

  1. Änderung von Slices

Da Slices veränderbar sind, können wir die darin enthaltenen Elemente anhand des Indexwerts ändern :

c[0] = 10 //Ändern Sie das erste Element in 10

  1. An den Slice anhängen

Verwenden Sie die Append-Methode des Slice, um Elemente zum Slice hinzuzufügen. Wenn die Slice-Kapazität nicht groß genug ist, um alle Elemente aufzunehmen, wird sie automatisch erweitert.

Zum Beispiel können wir mit der folgenden Methode Elemente am Ende des Slice hinzufügen:

c = append(c, 6, 7, 8) //3 Elemente am Ende des Slice hinzufügen

Beim Hinzufügen von a einzelnes Element, wir können dies tun Schreiben Sie:

c = append(c, 9) //Ein Element am Ende des Slice hinzufügen

  1. Kopie des Slice

Das Slice kann mit der Kopierfunktion kopiert werden. Der erste Parameter der Kopierfunktion ist das Ziel-Slice und der zweite Parameter ist das Quell-Slice.

Zum Beispiel:

d := make([]int, len(c))
copy(d, c)

  1. Abfangen von Slices

Verwenden Sie die [Start:End]-Form von Slices, um Slices abzufangen und bekomme ein neues Stück. start stellt die Startposition (geschlossenes Intervall) dar, die abgefangen werden soll, und end stellt die Endposition (offenes Intervall) dar.

Zum Beispiel:

e := c[2:5] //Abfangen des Slice, das das dritte bis fünfte Element enthält

Wenn start weggelassen wird, wird standardmäßig 0 verwendet. Wenn end weggelassen wird, wird standardmäßig die Länge von verwendet die Scheibe.

  1. Löschen von Slices

Es gibt keine direkte Möglichkeit, Slice-Elemente in Go zu löschen. Wir können Elemente jedoch indirekt löschen, indem wir ein neues Slice erstellen.

Zum Beispiel können wir den folgenden Code verwenden, um das dritte Element zu löschen:

f := append(c[:2], c[3:]...)

Auf diese Weise ist f ein neues Slice wo die drei Elemente entfernt wurden.

Zusammenfassung

Slicing ist ein sehr leistungsfähiger Datentyp, der uns dabei helfen kann, Daten bequemer zu verwalten. In diesem Artikel stellen wir einige gängige Slice-Operationsmethoden vor, darunter Erstellung, Zugriff, Änderung, Anhängen, Kopieren, Abfangen und Löschen. Wenn Sie das Slicing in der Go-Sprache beherrschen möchten, können Sie Ihr Verständnis vertiefen, indem Sie die offizielle Dokumentation lesen.

Das obige ist der detaillierte Inhalt vonLassen Sie uns über die Verwendung der Golang-Slicing-Methode sprechen. 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