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.