Какой вывод получит консоль в примере №5

Программа не компилируется: arr не объявлен, а []int и [5]int нельзя напрямую преобразовать в string. Сначала нужно исправить эти ошибки.

Короткий ответ

Что ответить на собеседовании

Программа не компилируется: 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 остаётся срезом первых четырёх элементов того же массива. Это вывод именно исправленной программы, а не исходника с ошибками типов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее