Sobes.tech
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 range tsü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