Sobes.tech
Senior

// 1. kérdés. Mit fog kiírni a képernyőre? package main import "fmt" func main() { s := "Hello world" s[0] = "h" if err != nil { fmt.Println("Hiba", err) } fmt.Println(s) }

sobes.tech MI

Válasz az MI-től

A kód nem fog fordulni. Go-ban a stringek (string) nem módosíthatók, nem lehet értéket rendelni egy string egyetlen bájtjához, például s[0] = "h" fordítási hibát okoz.

Ezenkívül a err változó nincs deklarálva, ezért az if err != nil {} feltétel is hibát fog okozni.

A helyes módja a string módosításának, hogy létrehozunk egy újat, például:

package main

import "fmt"

func main() {
    s := "Hello world"
    s = "h" + s[1:]
    fmt.Println(s) // "hello world"-t fog kiírni
}

Így az eredeti kód fordítási hibákhoz vezet és semmit sem fog kiírni.