In der Go-Sprache können Sie die Slice-Funktion verwenden, um den Löschvorgang von Array-Elementen zu implementieren. Löschmethode: 1. Verwenden Sie append() zum Löschen. Die Syntax lautet „append(list[:delete index], list[(delete index+1):]...)“ 2. Verwenden Sie copy() zum Löschen, Die Syntax lautet „list[:copy(list, list[index:])]“ 3. Verwenden Sie len(), um das Löschen zu erreichen, die Syntax lautet „list[:len(list)-N]“.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.
In der Go-Sprache können Sie die Slice-Funktion verwenden, um den Löschvorgang von Array-Elementen zu implementieren. Ein Slice ist ein Verweis auf ein zusammenhängendes Fragment eines Arrays, daher ist ein Slice ein Referenztyp (also eher dem Array-Typ in C/C++ oder dem Listentyp in Python ähnlich). Dieses Fragment kann das gesamte Array sein, oder Es kann eine Teilmenge einiger Elemente sein, die durch den Start- und Endindex identifiziert werden. Es ist zu beachten, dass die durch den Endindex identifizierten Elemente nicht im Slice enthalten sind.
Die Go-Sprache verwendet Slices zum Löschen von Array-Elementen.
Die Go-Sprache bietet keine spezielle Syntax oder Schnittstelle zum Löschen von Slice-Elementen. Es gibt drei Situationen die Position des zu löschenden Elements. Sie werden am Anfang, in der Mitte und am Ende des Slice gelöscht. [Verwandte Empfehlungen: Go-Video-Tutorial, Programmierunterricht]
Löschen von der Anfangsposition
Durch Löschen des Anfangselements kann der Datenzeiger direkt verschoben werden:
a = []int{1, 2, 3} a = a[1:] // 删除开头1个元素 a = a[N:] // 删除开头N个元素
Sie können den Datenzeiger auch nicht verschieben, aber Verschieben Sie die folgenden Daten. Um zum Anfang zu gelangen, können Sie sie mit append an Ort und Stelle vervollständigen (die sogenannte Vervollständigung an Ort und Stelle bedeutet, dass sie in dem Speicherintervall abgeschlossen wird, das den ursprünglichen Slice-Daten entspricht, was keine Änderungen in der Datei verursacht Speicherplatzstruktur):
a = []int{1, 2, 3} a = append(a[:0], a[1:]...) // 删除开头1个元素 a = append(a[:0], a[N:]...) // 删除开头N个元素
Sie können auch die Funktion copy() verwenden, um die Elemente am Anfang zu löschen:
a = []int{1, 2, 3} a = a[:copy(a, a[1:])] // 删除开头1个元素 a = a[:copy(a, a[N:])] // 删除开头N个元素
Von der mittleren Position löschen
Um die Elemente in der Mitte zu löschen, müssen Sie die verschieben Sie können die restlichen Elemente auch als Ganzes vervollständigen:
a = []int{1, 2, 3, ...} a = append(a[:i], a[i+1:]...) // 删除中间1个元素 a = append(a[:i], a[i+N:]...) // 删除中间N个元素 a = a[:i+copy(a[i:], a[i+1:])] // 删除中间1个元素 a = a[:i+copy(a[i:], a[i+N:])] // 删除中间N个元素
Aus dem Ende löschen
a = []int{1, 2, 3} a = a[:len(a)-1] // 删除尾部1个元素 a = a[:len(a)-N] // 删除尾部N个元素
Das Löschen der Anfangselemente und das Löschen der Schwanzelemente können als Sonderfälle des Löschens der Mitte betrachtet werden Schauen wir uns unten ein Beispiel an.
Beispiel zum Löschen eines Arrays
【Beispiel】Löschen Sie das Element an der angegebenen Position des Slice.
package main import "fmt" func main() { seq := []string{"a", "b", "c", "d", "e"} // 指定删除位置 index := 2 // 查看删除位置之前的元素和之后的元素 fmt.Println(seq[:index], seq[index+1:]) // 将删除点前后的元素连接起来 seq = append(seq[:index], seq[index+1:]...) fmt.Println(seq) }
Codeausgabe:
Die Codebeschreibung lautet wie folgt:
Zeile 1 deklariert einen Integer-Slice, um Zeichenfolgen von a bis e zu speichern.
Zeile 4 verwendet zur Vereinfachung der Demonstration und Erklärung die Indexvariable, um die Position des zu löschenden Elements zu speichern.
Zeile 7, seq[:index] repräsentiert die erste Hälfte des gelöschten Elements, der Wert ist [1 2], seq[index+1:] repräsentiert die zweite Hälfte des gelöschten Elements, der Wert ist [4 5].
Zeile 10: Verwenden Sie die Funktion append(), um die beiden Slices zu verbinden.
Zeile 12, Ausgabe des neuen verbundenen Slice. Zu diesem Zeitpunkt wurde das Element mit Index 2 gelöscht.
Der Code-Löschvorgang kann anhand des Bildes unten beschrieben werden.
Weitere Programmierkenntnisse finden Sie unter: Programmiervideo! !
Das obige ist der detaillierte Inhalt vonSo löschen Sie Elemente aus dem Golang-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!