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