Senior
Go-da sətir nədir? Onun quruluşu və xüsusiyyətləri nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, string dəyişməz bir bayt ardıcıllığıdır və adətən UTF-8 kodlamasında mətn ifadə edir. Struktur baxımından, string iki sahəli bir quruluş kimi həyata keçirilir: baytlar massivinə göstərici və uzunluq.
Go-dakı stringlərin xüsusiyyətləri:
- Dəyişməzlik: yaradıldıqdan sonra, string dəyişdirilə bilməz. Hər hansı bir əməliyyat onun məzmununu dəyişirsə, yeni bir string yaradır.
- UTF-8: stringlər UTF-8 baytlarını saxlayır, bu da Unicode simvolları ilə işləməyə imkan verir.
- Baytlar üzrə giriş: stringin indeksləşdirilməsi bir bayt qaytarır, simvol (rune) deyil. Simvollarla işləmək üçün
unicode/utf8paketindən istifadə edilməli və ya string rune-ə çevrilməlidir.
Sadə bir string strukturu nümunəsi:
// Go dilində string təxminən belə:
type stringStruct struct {
ptr *byte
len int
}
String ilə işləmə nümunəsi:
s := "Привет"
fmt.Println(len(s)) // baytların sayı
runes := []rune(s)
fmt.Println(len(runes)) // simvolların sayı