Sobes.tech
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