Junior — Middle
Vai Go skatījumos ir līdzīgi garuma un kapacitātes metodes kā slices?
sobes.tech AI
Atbilde no AI
Go valodā, kartes (maps) nav garuma un kapacitātes metožu, kā slices. Lai iegūtu garumu, tiek izmantota iebūvētā funkcija len(), kas atgriež elementu skaitu kartē.
Slices gadījumā, var izmantot len() pašreizējai garumam un cap() maksimālajam izmēram bez jaunas atmiņas piešķiršanas. Kartēs cap() nav, jo tās dinamiski aug, pievienojot elementus.
Piemērs:
m := make(map[string]int)
m["a"] = 1
fmt.Println(len(m)) // rāda 1
s := make([]int, 0, 10)
fmt.Println(len(s)) // 0
fmt.Println(cap(s)) // 10