Sobes.tech
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