Sobes.tech
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.