Sobes.tech
Junior

Čo predstavuje dátový typ string v jazyku Golang?

sobes.tech AI

Odpoveď od AI

V Golang-u je string nepromenljiva sekvenca bajtova.

Kľúčové vlastnosti:

  • Nezmeniteľnosť: Po vytvorení reťazca ho nie je možné zmeniť. Akákoľvek operácia, ktorá mení reťazec, v skutočnosti vytvára nový reťazec.
  • Zobrazenie: Reťazec obsahuje sekvenciu bajtov. Predvolene Golang predpokladá, že tieto bajty predstavujú text zakódovaný v UTF-8.
  • Dĺžka: Dĺžka reťazca (len(s)) vracia počet bajtov v reťazci, nie počet run (symbolov).
  • Indexovanie: Prístup k prvkom reťazca pomocou indexu (s[i]) vracia bajt na danom indexe.
  • Runy: Na prácu so znakmi (runami) sa používa iterácia cez reťazec pomocou cyklu for range, ktorý dekóduje UTF-8 a poskytuje runy a ich indexy.

Príklad:

// Inicializácia reťazca
s := "Привет, мир!" // 23 bajtov, 12 run

// Dĺžka reťazca (v bajtoch)
byteLength := len(s) // 23

// Prístup k bajtu pomocou indexu
firstByte := s[0] // firstByte = 208 (bajt pre 'П' v UTF-8)

// Iterácia cez runy
runeCount := 0
for index, runeValue := range s {
	// index - začiatok runy v reťazci (v bajtoch)
	// runeValue - dekódovaná runa
	runeCount++
}
// runeCount = 12