Sobes.tech
Junior — Middle

Jakie unikalne cechy mają slices w języku Go?

sobes.tech AI

Odpowiedź od AI

Slicery w Go to dynamiczne, modyfikowalne widoki sekwencji elementów tablicy. Unikalne cechy sliców:

  • Dynamczny rozmiar: w przeciwieństwie do tablic, slice mogą zmieniać długość podczas działania programu.
  • Odwołanie do tablicy: slice zawiera wskaźnik na bazową tablicę, długość i pojemność.
  • Pojemność i długość: długość to liczba elementów w slicie, pojemność to maksymalna liczba elementów, które slice może pomieścić bez alokacji nowej pamięci.
  • Kopiowanie slice'ów: kopiowanie slice'a kopiuje strukturę, ale nie dane, czyli oba slice'y odwołują się do tego samego array'a.

Przykład tworzenia slice'a:

arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // slice z elementami 2,3,4