Junior — Middle
Ինչ հատկանիշներ կան տողերի նիշերի շրջայցի ժամանակ ծրագրավորման մեջ?
sobes.tech AI
Պատասխան AI-ից
Go-ում տողերը ներկայացված են որպես բայթների հաջորդականություն, բայց հաճախ պարունակում են UTF-8 կոդավորմամբ նշաններ, որտեղ մեկ նշան (ռունա) կարող է զբաղեցնել մի քանի բայթ: Երբ անցնում եք տողը ցուցիչներով (օրինակ, for i := 0; i < len(s); i++) անցնում եք բայթների վրա, ոչ թե նշանների, ինչը կարող է dẫnել սխալ մշակման բազմաբայթ նշանների դեպքում:
Ճիշտ նշանների անցնելու համար օգտագործվում է for range ցիկլը, որը անցնում է ռունաների (Unicode կոդային կետեր) վրա:
s := "Привет"
for i, r := range s {
fmt.Printf("ցուցիչ: %d, նշան: %c\n", i, r)
}
Այստեղ, i ռունայի առաջին բայթի ցուցիչն է տողում, իսկ r ինքն է ռունան: Սա կարևոր է բազմալեզու տեքստերով և ASCII-ից դուրս նշանների ճիշտ մշակման համար։