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