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