Sobes.tech
Junior — Middle

Len dəyişəni, massiv və ya dilimin faktiki ölçüsündən kiçik olan bir uzunluğu göstərə bilərmi?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, massiv və ya dilim üçün len dəyişəni həmişə cari uzunluğu əks etdirir və daxili len() funksiyası tərəfindən qaytarılır.

  • Bir massiv üçün, len həmişə massiv ölçüsünə bərabərdir və dəyişmir.
  • Bir dilim üçün, len dilimdəki elementlərin sayını göstərir və bu, dilimin tutumundan kiçik və ya ona bərabər ola bilər.

Massivin faktiki ölçüsündən kiçik len mümkün deyil, çünki len massiv üçün sabitdir və ölçüyə bərabərdir.

Dilim üçün, uzunluq tutumdan kiçik ola bilər, amma indekslə əlçatan olan faktiki elementlərin sayından çox ola bilməz.

Nümunə:

arr := [5]int{1,2,3,4,5}
fmt.Println(len(arr)) // 5

slice := arr[1:3]
fmt.Println(len(slice)) // 2
fmt.Println(cap(slice)) // 4

Burada, dilimin uzunluğu 2-dir, halbuki tutumu 4-dür. Amma uzunluq dilimin faktiki ölçüsündən çox ola bilməz.