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