Sobes.tech
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) რაოდენობა