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.