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"
}