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