Junior — Middle
რა ხდება, როდესაც პროგრამირებაში ხაზი ელემენტებზე იტერაცია ხორციელდება?
sobes.tech AI
პასუხი AI-სგან
Go-ში, როდესაც იტერირებთ სტრიქონზე for range ციკლით, გადიხართ Unicode კოდური წერტილებით (Rune-ებით), არა ბაიტებით. ეს ნიშნავს, რომ ციკლის თითოეული ელემენტი არის Unicode სიმბოლო, რომელიც UTF-8-ში შეიძლება დაკავოს რამდენიმე ბაიტი.
მაგალითად:
s := "Привет"
for i, r := range s {
fmt.Printf("ინდექსი: %d, რუნა: %c\n", i, r)
}
აქ, i არის პირველი ბაიტის ინდექსი რუნაში სტრიქონში, ხოლო r არის თავად რუნა (სიმბოლო).
ამ გზით, Go-ში სტრიქონის იტერაცია სწორად მუშაობს მრავალენოვან სიმბოლოებთან და არ გატეხავს მრავალბაიტიან სიმბოლოებს UTF-8-ში.