Senior
რა არის სტრიქონი Go-ში? რა არის მისი სტრუქტურა და მახასიათებლები?
sobes.tech AI
პასუხი AI-სგან
Go ენის ფარგლებში, სტრიქონი (string) არის შეუცვლელი ბაიტების მიმდევრობა, რომელიც ჩვეულებრივ წარმოადგენს ტექსტს UTF-8 კოდირებით. სტრუქტურულად, სტრიქონი იმპლემენტირებულია ორი ველის მქონე სტრუქტურად: ბაიტების მასივზე მიმთითებელ პინტერზე და სიგრძეზე.
Go-ის სტრიქონების მახასიათებლები:
- შეუცვლელობა: შექმნის შემდეგ, სტრიქონს ვერ შეცვლი. ნებისმიერი ოპერაცია, რომელიც შეიცავს მას, ქმნის ახალ სტრიქონს.
- UTF-8: სტრიქონები ინახავენ ბაიტებს UTF-8-ში, რაც საშუალებას აძლევს მუშაობა Unicode სიმბოლოებთან.
- წვდომა ბაიტებით: სტრიქონის ინდექსირება აბრუნებს ბაიტს, არა სიმბოლოს (rune). სიმბოლოებთან მუშაობისთვის საჭიროა გამოიყენოთ
unicode/utf8პაკეტი ან გარდაქმნათ სტრიქონი rune-ის სლაიზად.
სიმპლიფიცირებული სტრიქონის სტრუქტურის მაგალითი:
// სტრიქონი Go-ში დაახლოებით ასე:
type stringStruct struct {
ptr *byte
len int
}
სტრიქონთან მუშაობის მაგალითი:
s := "Привет"
fmt.Println(len(s)) // ბაიტების რაოდენობა
runes := []rune(s)
fmt.Println(len(runes)) // სიმბოლოების (rune) რაოდენობა