Sobes.tech
Junior — Middle

Ի՞նչ է տեղի ունենում, երբ ծրագրավորման մեջ կատարվում է տողային տարրերի վրա կրկնություն։

sobes.tech AI

Պատասխան AI-ից

Go-ում, երբ կրկնվում է տողը for range ցիկլով, անցնում է Unicode կոդային կետերով (ռունաներով), ոչ թե բայթերով: Սա նշանակում է, որ ցիկլի յուրաքանչյուր տարր՝ դա Unicode նշան է, որը կարող է զբաղեցնել մի քանի բայթ UTF-8-ում:

Օրինակ՝

s := "Привет"
for i, r := range s {
    fmt.Printf("Ինդեքսը: %d, Ռունա: %c\n", i, r)
}

Այստեղ, i՝ առաջին բայթի ինդեքսն է ռունայի մեջ, իսկ r՝ ինքն ռունան (նշանը):

Այսպիսով, տողը ցիկլով անցնելը թույլ է տալիս ճիշտ աշխատել բազմալեզու նշանների հետ և չկոտրել UTF-8-ի բազմաբայթ նշանները։