Sobes.tech
Junior

Que représente le type de données string dans le langage Golang?

sobes.tech IA

Réponse de l'IA

En Golang, string est une séquence immuable d'octets.

Caractéristiques clés :

  • Immutabilité : Après la création, une chaîne ne peut pas être modifiée. Toute opération modifiant la chaîne crée en réalité une nouvelle chaîne.
  • Représentation : La chaîne contient une séquence d'octets. Par défaut, Golang suppose que ces octets représentent du texte encodé en UTF-8.
  • Longueur : La longueur de la chaîne (len(s)) retourne le nombre d'octets dans la chaîne, pas le nombre de runes (symboles).
  • Indexation : Accéder aux éléments de la chaîne par indice (s[i]) retourne l'octet à cet indice.
  • Runes : Pour travailler avec des caractères (runes), on utilise une itération sur la chaîne avec une boucle for range, qui décode UTF-8 et fournit les runes et leurs indices.

Exemple :

// Initialisation de la chaîne
s := "Привет, мир!" // 23 octets, 12 runes

// Longueur de la chaîne (en octets)
byteLength := len(s) // byteLength = 23

// Accès à l'octet par indice
firstByte := s[0] // firstByte = 208 (octet 'П' en UTF-8)

// Itération sur les runes
runeCount := 0
for index, runeValue := range s {
	// index - indice de début de la rune dans la chaîne (en octets)
	// runeValue - la rune décodée
	runeCount++
}
// runeCount = 12