Sobes.tech
Junior — Middle

Co oznacza właściwość capacity w slice w Go, jeśli nie jest ona jawnie określona podczas tworzenia?

sobes.tech AI

Odpowiedź od AI

W Go, slice to struktura zawierająca wskaźnik na tablicę, długość (len) i pojemność (capacity).

Jeśli podczas tworzenia slice'a pojemność nie jest wyraźnie określona, jest ustawiana równa długości slice'a. Pojemność pokazuje, ile elementów może pomieścić slice bez przydzielania nowej pamięci.

Na przykład:

s := make([]int, 3) // len=3, cap=3

Tutaj pojemność jest równa 3, ponieważ nie została podana osobno.

Jeśli pojemność jest większa od długości, można rozszerzyć slice do pojemności bez alokacji nowej tablicy.