Junior
Šta predstavlja tip podataka string u jeziku Golang?
sobes.tech АИ
Одговор од АИ
U Golang-u, string je nepromenljivi niz bajtova.
Ključne osobine:
- Nepromenljivost: Nakon kreiranja niza, on se ne može menjati. Svaka operacija koja menja niz, u stvari kreira novi niz.
- Prikaz: Niz sadrži sekvencu bajtova. Podrazumevano, Golang pretpostavlja da ti bajtovi predstavljaju tekst kodiran u UTF-8.
- Dužina: Dužina niza (
len(s)) vraća broj bajtova u nizu, a ne broj runa (simbola). - Indeksiranje: Pristup elementima niza putem indeksa (
s[i]) vraća bajt na toj poziciji. - Runes: Za rad sa simbolima (runama), koristi se iteracija kroz niz pomoću petlje
for range, koja dekodira UTF-8 i pruža rune i njihove indekse.
Primer:
// Inicijalizacija niza
s := "Привет, мир!" // 23 bajta, 12 runa
// Dužina niza (u bajtovima)
byteLength := len(s) // 23
// Pristup bajtu po indeksu
firstByte := s[0] // firstByte = 208 (bajt za 'П' u UTF-8)
// Iteracija kroz rune
runeCount := 0
for index, runeValue := range s {
// index - početni indeks rune u nizu (u bajtovima)
// runeValue - dekodovana runa
runeCount++
}
// runeCount = 12