Junior — Middle
Ի՞նչ արժեք է վերադարձնում length մեթոդը երբ այն կանչվում է տողին:
sobes.tech AI
Պատասխան AI-ից
Go-ում, երբ len մեթոդը կանչվում է տողին, այն վերադարձնում է տողի բայթերի քանակը, ոչ թե նիշերի քանակը: Դա պայմանավորված է նրանով, որ Go-ի տողերը UTF-8 կոդավորված բայթների հաջորդականություններ են: Եթե տողը պարունակում է միայն ASCII նիշեր, բայթերի քանակը համընկնում է նիշերի քանակին: Բայց եթե տողում շատալեզու նիշեր կան, յուրաքանչյուրը կարող է զբաղեցնել մի քանի բայթ:
Օրինակ՝
package main
import (
"fmt"
)
func main() {
s := "Привет"
fmt.Println(len(s)) // Ցույց կտա բայթերի քանակը, օրինակ 12
}
Նիշերի (рунների) քանակը հաշվելու համար անհրաժեշտ է օգտագործել utf8.RuneCountInString ֆունկցիան unicode/utf8 փաթեթից։