Sobes.tech
Senior

// Հարց 1. Ի՞նչ կցուցադրվի էկրանին: package main import "fmt" func main() { s := "Hello world" s[0] = "h" fmt.Println(s) }

sobes.tech AI

Պատասխան AI-ից

Այս կոդը չի կ compile և կհանգեցնի կ compile սխալի:

Սա այն պատճառով է, որ Go-ում տողերը անփոփոխ բայթային կտորներ են: Փորձել փոփոխել տողի առանձին բայթը, ինչպես s[0] = 'h', հնարավոր չէ և կհանգեցնի "cannot assign to s[0]" տիպի սխալի:

Եթե անհրաժեշտ է փոփոխել տողը, այն պետք է փոխարկել բայթների կամ ռուների կտորին, անհրաժեշտ տարրն փոփոխել և այնուհետև վերափոխել կրկին տող:

package main

import "fmt"

func main() {
    s := "Hello world"
    b := []byte(s)
    b[0] = 'h'
    s = string(b)
    fmt.Println(s) // կարտածի "hello world"
}