Sobes.tech
Senior

// Otázka 1. Mit zobrazí na obrazovce? package main import "fmt" func main() { s := "Hello world" s[0] = "h" if err != nil { fmt.Println("Chyba", err) } fmt.Println(s) }

sobes.tech AI

Odpověď od AI

Kód se přeloží. V jazyce Go jsou řetězce (string) neměnné, nelze přiřadit hodnotu jednotlivému bajtu řetězce, například s[0] = "h" způsobí chybu při překladu.

Navíc proměnná err není deklarována, takže podmínka if err != nil {} také způsobí chybu.

Správný způsob, jak změnit řetězec, je vytvořit nový řetězec, například:

package main

import "fmt"

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

Tímto způsobem původní kód povede k chybám při překladu a nevypíše nic.