Junior — Middle
Ինչ արժեք է վերադարձնում len ֆունկցիան, երբ այն կիրառվում է տողային տվյալների տիպի վրա?
sobes.tech AI
Պատասխան AI-ից
Go լեզվում, երբ ֆունկցիան len կիրառվում է տողին, այն վերադարձնում է այդ տողի բայթերի քանակը, ոչ թե նիշերի (rune-ների) քանակը: Դա պայմանավորված է նրանով, որ Go-ում տողերը պահվում են UTF-8 ձևաչափով, որտեղ մեկ նիշը կարող է զբաղեցնել մի քանի բայթ:
Օրինակ՝
s := "Привет"
fmt.Println(len(s)) // Ցույց կտա բայթերի քանակը, օրինակ՝ 12
Եթե ցանկանում եք ստանալ նիշերի (rune-ների) քանակը, պետք է տողը փոխակերպել rune-ների սլայսի:
fmt.Println(len([]rune(s))) // Ցույց կտա նիշերի քանակը, օրինակ՝ 6