Wszyscy znamy tablice, w Go lub w innych językach programowania. Tablica to zbiór elementów powiązanego typu danych (w zależności od). W Go tablice może pomieścić tylko elementy podobnego typu. Tablice mają ustaloną długość i nie mogą rosnąć ani kurczyć się po zdefiniowaniu rozmiaru.
Slice to dynamicznie rozmiar elementów tablicy. Plasterek jest bardzo elastyczny, co pozwala na jego rozmiar. Jednak rozmiar musi pozostać pod pojemnością podstawowej tablicy.
Deklarowanie plasterek
Możemy zadeklarować kawałek za pomocą prostej składni, jak pokazano poniżej:
var slice_name [] dane _typeW powyższej składni zaczynamy od określenia nazwy slice, a następnie parę kwadratowych nawiasów i typu danych dla plasterka.
Zauważysz, że deklaracja plasterek jest bardzo podobna do deklaracji tablicy. Jednak nie określamy rozmiaru dla kawałka.
Utwórz plaster - metoda 1
Istnieją dwie metody tworzenia plasterka w Go. Pierwszym z nich jest użycie dosłownego formatu. Jest to ściśle podobne do tego pokazanego w powyższej składni.
Na przykład poniższy kod tworzy plasterek o nazwie My_Slice:
Pakiet MainPowyższy przykład tworzy kawałek typu int z wartościami domyślnymi. Jeśli nie chcesz używać metody Var Deklaracji zmiennej, możesz użyć składni poniżej:
my_slice: = [] int 1,2,3,4,5,6Powyższa metoda jest znana jako literalna.
Utwórz plaster - metoda 2
Drugą metodą utworzenia plasterek w Go jest użycie funkcji Make.
Składnia jest jak:
Func Make ([] t, len, cap) [] tFunkcja ma w tym przypadku typ danych, długość i pojemność. Funkcja przydzieli tablicę o rozmiarze określonym przez parametr pojemności. Funkcja zwraca kawałek odwołujący się do tej tablicy.
Aby to zobaczyć w praktyce, patrz poniżej:
slice_var: = make ([] int, 10)Ten przykład deklaruje kawałek typu rozmiaru 10 i int. Powstałe wyjście to kawałek 0 wartości.
[0 0 0 0 0 0 0 0 0 0]Możesz przypisać wartości do plastra za pomocą notacji indeksu.
Aby przypisać wartość w indeksie 1, możemy zrobić:
slice_var [0] = 10Powyższy kod powinien zwrócić:
[10 0 0 0 0 0 0 0 0 0]UWAGA, że element przy indeksie 0 jest aktualizowany, aby odzwierciedlić nową wartość.
Właściwości pokrojone
Istnieją dwie ważne właściwości plasterek, z którymi powinieneś się znać. Długość i pojemność.
Długość wycinka odnosi się do całkowitej liczby elementów posiadanych przez plasterek, podczas gdy pojemność odnosi się do liczby elementów określonych przez tablicę podstawową. Jest to liczone z pierwszego elementu plastra.
Aby uzyskać długość i pojemność plasterek, możesz użyć odpowiednio metod len () i cap ().
Przykład jest, jak pokazano poniżej:
Pakiet MainPowyższy przykładowy kod powinien zwrócić długość i pojemność plastra jako:
Ength: 6Przejdź krojenie indeksu
Czy wiesz, że możemy utworzyć plaster z istniejących plasterków?
Możemy to osiągnąć, określając wskaźnik związany z niskim i wysokim związkiem. Na przykład, aby utworzyć nowy plasterek z elementami z indeksu 1 do 5:
NEW_SLICE: = MY_SLICE [1: 5]Iteracja krocza
Możemy iterować tablicę za pomocą klasyki do pętli.
Na przykład:
Pakiet MainW powyższym przykładzie używamy pętli i instrukcji Range, aby iterować nad indeksem i elementem plastra. Wynikowe wyjście:
0 PythonJeśli nie chcesz używać instrukcji Range, aby zapętlony plasterem, możesz użyć długości plastra jako:
dla i: = 0; I < len(my_slice); i++Powyższy przykład zwróci podobne dane wyjściowe jak przy użyciu konstrukcji zakresu.
Idź element kopii
Metoda kopiowania pozwala kopiować elementy z jednego kawałka do drugiego. Rozważ poniższy przykład:
funccopy_slice ()Funkcja zwróci całkowitą liczbę skopiowanych elementów.
Wielowymiarowy plasterek
Możesz także stworzyć wielowymiarowy kawałek. Zasadniczo oznacza kawałek plasterków. Przykładem jest jak pokazano:
funcMulti_Slice ()Powyższy przykład powinien wydrukować wielowymiarowy plasterek jako:
[[1 2] [3 4] [5 6] [7 8]]Aby uzyskać dostęp do elementów w tablicy wielowymiarowej, możesz użyć indeksów jako:
fmt.Println (multi_slice [0] [0])Powyższa składnia zwraca pierwszy element w pierwszym plastrze.
Wniosek
Ten przewodnik pomaga w podstawach pracy z plasterkami w Go. Chociaż nie możemy wyczerpać plasterków w zakresie tego samouczka, powinno to zacząć.