Golang-Array löschen

WBOY
Freigeben: 2023-05-19 09:01:36
Original
1184 Leute haben es durchsucht

Golang ist eine stark typisierte Sprache und ihre Arrays haben eine feste Länge, was bedeutet, dass die Länge des Arrays bei der Deklaration angegeben werden muss und die Länge des Arrays bei späterer Verwendung nicht geändert werden kann. Dies kann in einigen Szenarien sehr unpraktisch sein. Beispielsweise müssen wir ein Element aus einem Array löschen, aber wir müssen sicherstellen, dass die Länge des Arrays unverändert bleibt.

In diesem Fall können wir einige Techniken verwenden, um den Elementlöschvorgang des Arrays zu implementieren. In diesem Artikel werden zwei gängige Techniken zum Löschen von Golang-Arrays vorgestellt.

1. Verwenden Sie die Slice-Interception-Operation, um Elemente zu löschen.

Slice ist ein Referenztyp, der jede Art von Elementen enthalten und dynamisch wachsen und schrumpfen kann. Durch die Abfangoperation des Slicings können wir Elemente in einem Golang-Array einfach löschen. Die spezifischen Operationsschritte sind wie folgt:

  1. Definieren Sie ein Golang-Array
arr := [5]int{1, 2, 3, 4, 5}
Nach dem Login kopieren
Nach dem Login kopieren
  1. Definieren Sie einen Index des zu löschenden Elements
index := 2
Nach dem Login kopieren
Nach dem Login kopieren
  1. Verwenden Sie die Slicing-Interception-Operation, um das Element am angegebenen Index zu löschen.
arr = append(arr[:index], arr[index+1:]...)
Nach dem Login kopieren

In diesem Beispiel definieren wir zunächst ein Golang-Array arr, das 5 Elemente enthält. Dann haben wir den Index des zu löschenden Elements definiert. Hier haben wir das dritte Element zum Löschen ausgewählt. Als nächstes verwenden wir die Slicing-Interception-Operation, um das ursprüngliche Array in zwei neue Arrays abzufangen und sie zu einem neuen Array arr zusammenzuführen. Zu diesem Zeitpunkt wurde das dritte Element gelöscht.

Der vollständige Code lautet wie folgt:

package main

import "fmt"

func main() {
    arr := [5]int{1, 2, 3, 4, 5}
    index := 2
    arr = append(arr[:index], arr[index+1:]...)
    fmt.Println(arr)
}
Nach dem Login kopieren

Das Ausführungsergebnis ist:

[1 2 4 5]
Nach dem Login kopieren
Nach dem Login kopieren

Wir können sehen, dass das dritte Element erfolgreich gelöscht wurde.

2. Verwenden Sie die Slice-Umkehroperation, um Elemente zu löschen.

Zusätzlich zur Verwendung der Slice-Interception-Operation können wir auch Elemente im Golang-Array durch die Slice-Umkehroperation löschen. Die spezifischen Schritte lauten wie folgt:

  1. Definieren Sie ein Golang-Array
arr := [5]int{1, 2, 3, 4, 5}
Nach dem Login kopieren
Nach dem Login kopieren
  1. Definieren Sie einen Index des zu löschenden Elements
index := 2
Nach dem Login kopieren
Nach dem Login kopieren
  1. Kehren Sie das Array um
for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
    arr[i], arr[j] = arr[j], arr[i]
}
Nach dem Login kopieren
Nach dem Login kopieren
  1. Verwenden Sie die Slice-Interception-Operation, um das angegebene zu löschen tiefgestelltes Element
arr = arr[:len(arr)-1]
Nach dem Login kopieren
  1. Kehren Sie das Array erneut um
for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
    arr[i], arr[j] = arr[j], arr[i]
}
Nach dem Login kopieren
Nach dem Login kopieren

Hier ist zu beachten, dass wir in den Schritten 3 und 5 die Mehrfachzuweisungsanweisung in Golang verwendet haben, mit der die Werte von zwei Variablen gleichzeitig ausgetauscht werden können . Wenn wir arr[i] und arr[j] direkt verwenden, um ihre Werte auszutauschen, wird der Code umständlicher.

Der vollständige Code lautet wie folgt:

package main

import "fmt"

func main() {
    arr := [5]int{1, 2, 3, 4, 5}
    index := 2
    for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
        arr[i], arr[j] = arr[j], arr[i]
    }
    arr = arr[:len(arr)-1]
    for i, j := 0, len(arr)-1; i < j; i, j = i+1, j-1 {
        arr[i], arr[j] = arr[j], arr[i]
    }
    fmt.Println(arr)
}
Nach dem Login kopieren

Das Ausführungsergebnis ist:

[1 2 4 5]
Nach dem Login kopieren
Nach dem Login kopieren

Wir können auch sehen, dass das dritte Element erfolgreich gelöscht wurde.

Zusammenfassung

Durch diesen Artikel haben wir erfahren, dass Golang-Arrays zwar eine feste Länge haben, wir jedoch dennoch einige Techniken zum Löschen von Elementen verwenden können, z. B. die Verwendung von Slice-Interception-Operationen und Slice-Umkehroperationen. Es ist jedoch zu beachten, dass diese Vorgänge aufgrund der festen Länge des Arrays zusätzlichen Overhead erzeugen. Daher sollten häufige Löschvorgänge bei der tatsächlichen Verwendung vermieden werden, um die Programmleistung sicherzustellen.

Das obige ist der detaillierte Inhalt vonGolang-Array löschen. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!