Senior
// Otázka 1. Čo sa zobrazí na obrazovke? 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
Odpoveď od AI
Kód sa nebude kompilovať. V jazyku Go sú reťazce (string) nemenné, nie je možné priradiť hodnotu jednotlivému bajtu reťazca, napríklad s[0] = "h" spôsobí chybu pri kompilácii.
Okrem toho, premenná err nie je deklarovaná, takže podmienka if err != nil {} tiež spôsobí chybu.
Správny spôsob, ako zmeniť reťazec, je vytvoriť nový reťazec, napríklad:
package main
import "fmt"
func main() {
s := "Hello world"
s = "h" + s[1:]
fmt.Println(s) // vypíše "hello world"
}
Týmto spôsobom pôvodný kód povedie k chybám pri kompilácii a nič nevypíše.