Senior
// Питање 1. Шта ће се приказати на екрану? package main import "fmt" func main() { s := "Hello world" s[0] = "h" if err != nil { fmt.Println("Грешка", err) } fmt.Println(s) }
sobes.tech АИ
Одговор од АИ
Kod se neće kompajlirati. U Go jeziku, stringovi (string) su nepromenljivi, ne može se dodeliti vrednost pojedinačnom bajtu stringa, na primer s[0] = "h" izazvaće grešku pri kompajliranju.
Takođe, promenljiva err nije deklarisana, pa će uslov if err != nil {} takođe izazvati grešku.
Pravi način za izmenu stringa je da se kreira novi string, na primer:
package main
import "fmt"
func main() {
s := "Hello world"
s = "h" + s[1:]
fmt.Println(s) // ispisuje "hello world"
}
Na ovaj način, originalni kod će izazvati greške pri kompajliranju i neće ništa ispisati.