Golang zdejmij z plasterki

Golang zdejmij z plasterki
Slice in Go to typ danych, który przechowuje zbiór uporządkowanych danych tego samego typu. Plastry są bardzo podobne do tablicy. Jednak w przeciwieństwie do tablic, plastry są dynamiczne i nie mają stałej długości. Należy pamiętać, że pomimo długości plastry zachowują inne właściwości tablicy Golang, w tym typ.

W tym artykule zbadamy, jak usunąć element z plastra.

Golang tworzy plasterek

Możemy utworzyć kawałek go, określając typ danych elementów, które będzie przechowywać. Następnie możemy otrzymać elementy tablicy wewnątrz pary kręconych aparatów ortodontycznych.

Poniższy przykładowy kod pokazuje, jak utworzyć kawałek w Go:

Pakiet Main
funcMain ()
slice: = [] String „A”, „B”, „C”, „D”

Po ogłoszeniu kawałka możemy wykonywać takie działania, jak aktualizacja elementów w określonym indeksie, uzyskiwać dostęp do elementów, dodać dodatkowe elementy i więcej. Sprawdź nasz samouczek na plasterkach Golang, aby dowiedzieć się więcej.

Golang Usuń element

Zanim omówimy, jak usunąć przedmiot z plastra, omówmy, w jaki sposób możemy utworzyć podsły z głównego plastra. Dzieje się tak, ponieważ ważne jest, aby zrozumieć, jak usunąć przedmiot z plastra.

Możemy utworzyć pod-slice za pomocą notacji indeksowania. Na przykład, jeśli chcemy utworzyć podskoczenie składające się z wartości z indeksu 2 do 7, możemy zrobić:

NEW_SLICE: = OLD_SLICE [2: 7]

Powyższa składnia pobije elementy przy indeksie 2 do indeksu 7 ze starego plasterek i utworzy nowy plasterek.

Jeśli chcesz utworzyć podsliczność z indeksu 0 do indeksu docelowego, możemy zrobić:

NEW_SLICE: = OLD_SLICE [: 5]

Powyższa składnia przyjmie elementy z indeksu 0 do indeksu 5 i utworzy świeży kawałek.

Teraz, gdy mamy proces tworzenia pod-szlifowania z kawałka, możemy kontynuować naukę usuwania elementu z plastra.

Zachowaj porządek plastra

Załóżmy, że mamy plasterek zawierający elementy, jak pokazano poniżej:

slice: = [] String „a”, „b”, „c”, „d”, „e”, „f”

Jeśli chcemy usunąć element z plastra i nadal zachować kolejność, przesuwamy pozycje elementów po elemencie, które chcemy usunąć w lewo z współczynnikiem jednego.

Możemy wyrazić powyższą składnię jako:

SHIFT LEN (A) - I - 1

Gdzie A reprezentuje plasterek, a ja jako indeks elementu, który chcemy usunąć.

Przykładowy kod jest taki jak pokazano:

Pakiet Main
importować „fmt”
func main ()
slice: = [] String „a”, „b”, „c”, „d”, „e”, „f”
indeks: = 1
Kopiuj (pokrój [indeks:], pokrój [indeks+1:]) // Wartości przesunięcia - wskaźnik z współczynnikiem 1
Pokrój [len (plaste) -1] = "" // usuń element
plaster = plasterek [: len (plasterek) -1] // truncateslice
fmt.Println (plasterek)

Powyższy kod usunie element w indeksie 0. Powstały plasterek jest tak, jak pokazano:

[a c d e f]

Zignoruj ​​zamówienie plasterek

Jeśli rezerwowanie rzędu plastra nie jest kluczowe, możemy użyć kodu, jak pokazano poniżej:

Pakiet Main
importować „fmt”
func main ()
slice: = [] String „a”, „b”, „c”, „d”, „e”, „f”
indeks: = 1
Pokrój [indeks] = plaster [len (plaste) -1] // kopiuj ostatni element doindex
Pokrój [len (plaste) -1] = "" // Wyjmij element
plasterek = plasterek [: len (plasterek) -1]
fmt.Println (plasterek)

Kod powyżej usuwa element w określonym indeksie. Jednak nie zachowuje rzędu plasterki, jak pokazano na poniższym wyjściu:

[A F C D E]

To dlatego, że ta metoda zastępuje usunięty element elementem na ostatnim indeksie.

Wniosek

W tym przewodniku omówiliśmy podstawy pracy z plasterkami i jak usunąć element z plastra z i bez zachowania kolejności plastra.

Dziękuje za przeczytanie!