Назад к вопросам
Senior
7
// Вопрос 1. Что выведет на экран? package main import "fmt" func main() { s := "Hello world" s[0] = "h" if err != nil { fmt.Println("Ошибка", err) } fmt.Println(s) }
Компании, где спрашивали
МВидео/эльдорадо
Ответ от нейросети
sobes.tech AI
Код не скомпилируется. В Go строки (string) неизменяемы, нельзя присвоить значение отдельному байту строки, например s[0] = "h" вызовет ошибку компиляции.
Кроме того, переменная err не объявлена, поэтому условие if err != nil тоже вызовет ошибку.
Правильный способ изменить строку — создать новую строку, например:
package main
import "fmt"
func main() {
s := "Hello world"
s = "h" + s[1:]
fmt.Println(s) // выведет "hello world"
}
Таким образом, исходный код приведёт к ошибкам компиляции и не выведет ничего.