Senior
Go'da satr nima? Uning tuzilishi va xususiyatlari qanday?
sobes.tech AI
AIdan javob
Go tilida, satr (string) bu o'zgarmas baytlar ketma-ketligi bo'lib, odatda UTF-8 kodlashda matnni ifodalaydi. Tuzilmasi bo'yicha, satr ikki maydonli tuzilma sifatida amalga oshiriladi: baytlar massiviga ko'rsatkich va uzunlik.
Go'dagi satrlarning xususiyatlari:
- O'zgarmaslik: yaratgandan so'ng, satrni o'zgartib bo'lmaydi. Har qanday o'zgartirish operatsiyalari yangi satr yaratadi.
- UTF-8: satrlar UTF-8 baytlarini saqlaydi, bu Unicode belgilar bilan ishlash imkonini beradi.
- Baytlar bo'yicha kirish: satrni indekslash baytni qaytaradi, belgini (rune) emas. Belgilar bilan ishlash uchun
unicode/utf8paketidan foydalanish yoki satrni rune slice ga aylantirish kerak.
Satr tuzilmasining soddalashtirilgan misoli:
// Go'da satr taxminan shunday:
type stringStruct struct {
ptr *byte
len int
}
Satr bilan ishlash misoli:
s := "Привет"
fmt.Println(len(s)) // baytlar soni
runes := []rune(s)
fmt.Println(len(runes)) // belgilar (rune) soni