Sobes.tech
Senior

// 1-savol. ekraningizda nima chiqariladi? package main import "fmt" func main() { s := "Hello world" s[0] = "h" fmt.Println(s) }

sobes.tech AI

AIdan javob

Bu kod kompilyatsiya qilmaydi va kompilyatsiya xatosini keltirib chiqaradi.

Sababi, Go'da satrlar o'zgarmas bayt kesimlaridir. s[0] = 'h' kabi satrning alohida baytini o'zgartirish mumkin emas va "cannot assign to s[0]" turidagi xatoga olib keladi.

Agar satrni o'zgartirish kerak bo'lsa, uni bayt yoki runlar kesimiga aylantirish, kerakli elementni o'zgartirish va keyin qayta satrga aylantirish kerak:

package main

import "fmt"

func main() {
    s := "Hello world"
    b := []byte(s)
    b[0] = 'h'
    s = string(b)
    fmt.Println(s) // "hello world" ni chiqaradi
}