Sobes.tech
Senior

// Sual 1. Ekranda nə göstərəcək? package main import "fmt" func main() { s := "Hello world" s[0] = "h" fmt.Println(s) }

sobes.tech Süni İntellekt

AI-dan cavab

Bu kod kompilyasiya olunmayacaq və tərtib zamanı xəta verəcək.

Səbəb odur ki, Go-da sətirlər dəyişməz bayt dilimləridir. s[0] = 'h' kimi sətirin tək bir baytını dəyişməyə cəhd etmək mümkün deyil və "cannot assign to s[0]" tipində xəta ilə nəticələnəcək.

Əgər sətiri dəyişdirmək istəyirsinizsə, onu bayt və ya rune diliminə çevirməli, lazım olan elementi dəyişdirməli və sonra yenidən sətirə çevirməlisiniz:

package main

import "fmt"

func main() {
    s := "Hello world"
    b := []byte(s)
    b[0] = 'h'
    s = string(b)
    fmt.Println(s) // "hello world" çap edəcək
}