Junior
Golang ენის string მონაცემთა ტიპი რა არის?
sobes.tech AI
პასუხი AI-სგან
Golang-ში string არის უცვლელი ბაიტების მიმდევრობა.
ძირითადი მახასიათებლები:
- უცვლელობა: ერთჯერ შექმნის შემდეგ, სტრიქონი ვერ შეიცვლება. ნებისმიერი ოპერაცია, რომელიც შეცვლის სტრიქონს, სინამდვილეში ქმნის ახალს.
- წარმოდგენა: სტრიქონი შეიცავს ბაიტების მიმდევრობას. სტანდარტულად, Golang ვარაუდობს, რომ ეს ბაიტები წარმოადგენენ UTF-8 კოდირებულ ტექსტს.
- სიგრძე: სტრიქონის სიგრძე (
len(s)) აბრუნებს ბაიტების რაოდენობას, არა — რუნების (სიმბოლოების) რაოდენობას. - ინდექსირება: სტრიქონის ელემენტებზე წვდომა ინდექსით (
s[i]) აბრუნებს ამ ინდექსზე მდებარე ბაიტს. - რუნები: სიმბოლოებთან (რუნებთან) მუშაობისთვის, გამოიყენება ციკლი
for range, რომელიც დეკოდირებს UTF-8-ს და უზრუნველყოფს რუნებს და მათი ინდექსებს.
მაგალითი:
// სტრიქონის ინიციალიზაცია
s := "Привет, мир!" // 23 ბაიტი, 12 რუნა
// სტრიქონის სიგრძე (ბაიტებში)
byteLength := len(s) // 23
// ბაიტზე წვდომა ინდექსით
firstByte := s[0] // firstByte = 208 (ბაიტი 'П' UTF-8-ში)
// რუნებზე ციკლი
runeCount := 0
for index, runeValue := range s {
// index - რუნის დასაწყისის ინდექსი (ბაიტებში)
// runeValue - დეკოდირებული რუნა
runeCount++
}
// runeCount = 12