Sobes.tech
Senior

// Question 1. Que va-t-il afficher à l'écran? package main import "fmt" func main() { s := "Hello world" s[0] = "h" if err != nil { fmt.Println("Erreur", err) } fmt.Println(s) }

sobes.tech IA

Réponse de l'IA

Le code ne sera pas compilé. En Go, les chaînes (string) sont immuables, il est impossible d'assigner une valeur à un byte individuel d'une chaîne, par exemple s[0] = "h" entraînera une erreur de compilation.

De plus, la variable err n'est pas déclarée, donc la condition if err != nil{} entraînera également une erreur.

La bonne façon de modifier une chaîne est de créer une nouvelle chaîne, par exemple :

package main

import "fmt"

func main() {
    s := "Hello world"
    s = "h" + s[1:]
    fmt.Println(s) // affichera "hello world"
}

Ainsi, le code source entraînera des erreurs de compilation et n'affichera rien.