Senior
// Întrebarea 1. Ce va afișa pe ecran? package main import "fmt" func main() { s := "Hello world" s[0] = "h" if err != nil { fmt.Println("Eroare", err) } fmt.Println(s) }
sobes.tech AI
Răspuns de la AI
Codul nu se va compila. În Go, șirurile (string) sunt imutabile, nu se poate atribui o valoare unui byte individual al șirului, de exemplu s[0] = "h" va cauza o eroare de compilare.
În plus, variabila err nu este declarată, așa că condiția if err != nil {} va cauza, de asemenea, o eroare.
Modul corect de a modifica un șir este de a crea un șir nou, de exemplu:
package main
import "fmt"
func main() {
s := "Hello world"
s = "h" + s[1:]
fmt.Println(s) // va afișa "hello world"
}
Astfel, codul original va duce la erori de compilare și nu va afișa nimic.