Junior — Middle
გოში ხედებს აქვს სლაისების მსგავსად სიგრძისა და მოცულობის მეთოდები?
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