Программа не компилируется: arr не объявлен, а []int и [5]int нельзя напрямую преобразовать в string. Сначала нужно исправить эти ошибки.
Какой вывод получит консоль в примере №5
Программа не компилируется: arr не объявлен, а []int и [5]int нельзя напрямую преобразовать в string. Сначала нужно исправить эти ошибки.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Определите, какие строки появятся в консольном выводе после запуска следующей Go‑программы.
package main
import (
"fmt"
)
func main (){
arr1 := [...]int{1, 2, 3, 4, 5}
arr2 := arr1[:4]
arr3 := append(arr[:2], 9, 8, 7)
fmt.Println(string(arr3))
fmt.Println(string(arr2))
fmt.Println(string(arr1))
}
Ответ
Программа не компилируется: arr не объявлен, а []int и [5]int нельзя напрямую преобразовать в string. Сначала нужно исправить эти ошибки.
Если вместо arr использовать arr1, а в Println убрать string(...), получится:
[1 2 9 8 7]
[1 2 9 8]
[1 2 9 8 7]
append(arr1[:2], 9, 8, 7) помещается в вместимость исходного массива и перезаписывает его последние три элемента. arr2 остаётся срезом первых четырёх элементов того же массива. Это вывод именно исправленной программы, а не исходника с ошибками типов.