Golang aus Scheibe entfernen

Golang aus Scheibe entfernen
Ein Slice in Go ist ein Datentyp, der eine Sammlung von geordneten Daten desselben Typs speichert. Scheiben sind Array sehr ähnlich. Im Gegensatz zu Arrays sind die Scheiben jedoch dynamisch und haben keine feste Länge. Denken Sie daran, dass die Scheiben trotz der Länge andere Eigenschaften eines Golang -Arrays beibehalten, einschließlich des Typs.

In diesem Artikel werden wir untersuchen, wie ein Element aus einer Scheibe entfernt werden kann.

Golang Scheiben erstellen

Wir können eine Slice in Go erstellen, indem wir den Datentyp der Elemente angeben, das sie halten wird. Wir können dann die Elemente des Arrays in ein Paar lockiger Zahnspangen einschließen.

Der folgende Beispielcode zeigt, wie Sie ein Stück in Go erstellen:

Paket Main
funcmain ()
Slice: = [] String "A", "B", "C", "D"

Sobald wir eine Slice deklariert haben, können wir Aktionen wie Aktualisierung von Elementen in einem bestimmten Index, zugreifen, auf die Elemente zugreifen, zusätzliche Elemente hinzufügen und mehr. Sehen Sie sich unser Tutorial über Golang Slices an, um mehr zu erfahren.

Golang löschen Artikel

Bevor wir diskutieren, wie ein Element aus einer Scheibe entfernt werden, lassen Sie uns diskutieren, wie wir eine Unterklage aus einer Hauptscheibe erstellen können. Dies liegt daran, dass es wichtig ist zu verstehen.

Wir können eine Unterklasse erstellen, indem wir die Indexierungsnotation verwenden. Wenn wir beispielsweise eine Unterklasse erstellen möchten, die aus den Werten von Index 2 bis 7 besteht, können wir dies tun:

NEW_SLICE: = Old_Slice [2: 7]

Die obige Syntax erfasst die Elemente bei Index 2 bis Index 7 aus dem alten Slice und erstellt eine neue Scheibe.

Wenn Sie eine Unterklasse von Index 0 zu einem Zielindex erstellen möchten, können wir dies tun:

NEW_SLICE: = Old_Slice [: 5]

Die obige Syntax enthält die Elemente von Index 0 bis Index 5 und erstellt eine frische Scheibe.

Nachdem wir nun den Prozess haben, eine Unterklasse aus einem Schicht aus dem Weg zu erstellen, können wir mit dem Löschen eines Elements aus einem Stück fortfahren.

Scheibenbestellung bewahren

Angenommen, wir haben ein Stück, das Elemente enthält, wie unten gezeigt:

Slice: = [] String "A", "B", "C", "D", "E", "F"

Wenn wir ein Element aus der Scheibe entfernen und die Reihenfolge bewahren möchten, verschieben wir die Positionen der Elemente nach dem Element, das wir mit einem Faktor nach links entfernen möchten.

Wir können die obige Syntax als:

Verschieben Sie Len (a) - i - 1

Wo a das Slice und ich als Index des Elements repräsentiert, das wir entfernen möchten.

Ein Beispielcode ist wie gezeigt:

Paket Main
importieren "fmt"
func main ()
Slice: = [] String "A", "B", "C", "D", "E", "F"
Index: = 1
Kopieren (Slice [Index:], Slice [Index+1:]) // Verschiebungswerte nach dem Index mit einem Faktor von 1
Slice [Len (Slice) -1] = "" // Element entfernen
Slice = Slice [: len (Slice) -1] // Truncateslice
fmt.Println (Slice)

Der obige Code entfernt das Element unter Index 0. Die resultierende Scheibe ist wie gezeigt:

[a c d e f]

Ignorieren Sie die Slice -Reihenfolge

Wenn das Reservieren der Slice -Reihenfolge nicht von entscheidender Bedeutung ist, können wir den Code wie unten gezeigt verwenden:

Paket Main
importieren "fmt"
func main ()
Slice: = [] String "A", "B", "C", "D", "E", "F"
Index: = 1
Slice [INDEX] = Slice [Len (Slice) -1] // Kopieren Sie das letzte Element, das wir entfernen möchten
Slice [Len (Slice) -1] = "" // Entfernen Sie das Element
Slice = Slice [: Len (Slice) -1]
fmt.Println (Slice)

Der obige Code entfernt das Element im angegebenen Index. Es behält jedoch nicht die Reihenfolge der Scheibe bei, wie in der folgenden Ausgabe gezeigt:

[a f c d e]

Dies, weil diese Methode das entfernte Element durch das Element im letzten Index ersetzt.

Abschluss

In diesem Leitfaden haben wir die Grundlagen der Arbeit mit Scheiben und der Entfernung eines Elements aus einer Scheibe mit und ohne den Scheibenreihenfolge abgedeckt.

Danke fürs Lesen!