Junior
Mida esindab andmetüüp string Golang keeles?
sobes.tech AI
Vastus AI-lt
Golang-is string on muutumatu baitide jada.
Peamised omadused:
- Muutumatus: Pärast stringi loomist ei saa seda muuta. Iga operatsioon, mis stringi muudab, loob tegelikult uue stringi.
- Esitus: String sisaldab baitide jada. Vaikimisi eeldab Golang, et need baitid esindavad UTF-8 kodeeritud teksti.
- Pikkus: Stringi pikkus (
len(s)) tagastab baitide arvu stringis, mitte märkide (runa) arvu. - Indeksimine: Stringi elementidele juurdepääs indeksiga (
s[i]) tagastab selle indeksi bait. - Runad: Tõrkeid (runasid) töötlemiseks kasutatakse iteratsiooni stringi üle
for rangetsükliga, mis dekodeerib UTF-8 ja pakub runasid ning nende indekseid.
Näide:
// Stringi initsialiseerimine
s := "Привет, мир!" // 23 baiti, 12 runa
// Stringi pikkus (baitides)
byteLength := len(s) // 23
// Baiti juurdepääs indeksiga
firstByte := s[0] // firstByte = 208 (baits 'П' UTF-8-s)
// Iteratsioon runade üle
runeCount := 0
for index, runeValue := range s {
// index - runa algusindeks (baitides)
// runeValue - dekodeeritud runa
runeCount++
}
// runeCount = 12