Sobes.tech
Junior — Middle

Имат ли изгледите в Go подобни методи за дължина и капацитет като срезовете?

sobes.tech AI

Отговор от AI

В Go, отображенията (maps) нямат методи за дължина и капацитет като slices. Вместо методи за получаване на дължина, се използва вградената функция len(), която връща броя на елементите в отображението.

За slices, може да се използва len() за текущата дължина и cap() за капацитета (максималния размер без ново разпределение на паметта). При отображенията cap() не съществува, тъй като те растат динамично с добавянето на елементи.

Пример:

m := make(map[string]int)

m["a"] = 1
fmt.Println(len(m)) // показва 1

s := make([]int, 0, 10)
fmt.Println(len(s)) // 0
fmt.Println(cap(s)) // 10