Sobes.tech
Junior — Middle

Explicați conceptul de tip de șir în limbajul Go și caracteristicile sale principale.

sobes.tech AI

Răspuns de la AI

În limbajul Go, tipul de string (string) reprezintă o secvență imuabilă de octeți, utilizată de obicei pentru stocarea textului în codificarea UTF-8.

Caracteristicile principale ale stringurilor în Go:

  • Imuabilitate: După crearea unui string, acesta nu poate fi modificat. Orice operație care modifică stringul creează unul nou.
  • Codificare UTF-8: Stringurile sunt stocate în UTF-8, permițând lucrul cu texte multilingve.
  • Acces pe octeți: Indexarea unui string returnează un octet, nu un caracter (rune). Pentru lucrul cu caracterele, se folosește tipul rune.
  • Suport pentru felii: Se pot obține sub-șiruri folosind felii, de exemplu s[0:5].

Exemplu de lucru cu stringuri și rune:

s := "Привет"
fmt.Println(len(s)) // numărul de octeți
for i, r := range s {
    fmt.Printf("%d: %c\n", i, r) // afișează indexul octetului și caracterul
}

Prin urmare, stringurile în Go sunt o modalitate convenabilă și eficientă de a lucra cu textul, dar este important să înțelegem diferența dintre octeți și caractere.