Назад к задачам
Junior — Senior
7

Что напечатает программа при передаче среза в функцию

Компании, где спрашивали:

СБЕРСБЕР
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Определите, какой вывод будет у следующей Go‑программы. В функции modify происходит обход переданного среза и замена всех его элементов на значение 5. После этого срез выводится на экран. В main создаётся исходный срез src, он передаётся в modify, а затем выводится ещё раз.

package main

import (
    "fmt"
)

func modify(arr []int) {
    // arr = append(arr, 125)

    for i := range arr {
        arr[i] = 5
    }

    fmt.Println(arr)
}

func main() {
    src := []int{1, 2, 3, 4}
    modify(src)
    fmt.Println(src)
}

Какой будет результат выполнения программы?