Sobes.tech
Senior

// Soru 1. Ekranda ne gösterilecek? package main import "fmt" func main() { s := "Hello world" s[0] = "h" if err != nil { fmt.Println("Hata", err) } fmt.Println(s) }

sobes.tech yapay zeka

AI'dan gelen yanıt

Kod derleşmeyecek. Go'da dizgeler (string) değiştirilemez, dizgenin tek bir baytına değer atamak mümkün değil, örneğin s[0] = "h" derleme hatasına yol açar.

Ayrıca, err değişkeni tanımlı değil, bu nedenle if err != nil {} koşulu da hata verecektir.

Dizgeyi değiştirmek için doğru yol yeni bir dizge oluşturmaktır, örneğin:

package main

import "fmt"

func main() {
    s := "Hello world"
    s = "h" + s[1:]
    fmt.Println(s) // "hello world" yazdırır
}

Bu şekilde, orijinal kod derleme hatalarına yol açar ve hiçbir şey yazdırmaz.