Как сделать вывод массива со сдвигом?

Для того чтобы осуществить вывод массива со сдвигом в языке программирования Go, можно использовать операции срезов. Срезы представляют собой гибкую структуру данных, которая может быть использована для работы с последовательностями элементов.

Для начала, нам понадобится функция, которая будет осуществлять сдвиг массива. Вот как может выглядеть такая функция:

func shiftArray(arr []int, shift int) []int {
    n := len(arr)
    // обрабатываем отрицательные значения сдвига
    if shift < 0 {
        shift = n + shift
    }

    // делаем срезы массива, чтобы получить две части:
    // первую часть до индекса shift и вторую часть после него
    firstPart := arr[:shift]
    secondPart := arr[shift:]

    // объединяем две части в обратном порядке
    shiftedArr := append(secondPart, firstPart...)

    return shiftedArr
}

Теперь, чтобы сделать вывод массива со сдвигом, нам нужно вызвать эту функцию и вывести результат. Вот пример кода, демонстрирующий это:

func main() {
    arr := []int{1, 2, 3, 4, 5}
    shift := 2

    shiftedArr := shiftArray(arr, shift)

    for _, num := range shiftedArr {
        fmt.Println(num)
    }
}

В этом примере, у нас есть исходный массив [1, 2, 3, 4, 5] и сдвиг равный 2. Мы вызываем функцию shiftArray с этими параметрами и получаем массив со сдвигом [3, 4, 5, 1, 2], который и выводим в цикле с помощью функции fmt.Println.

В результате выполнения этого кода, будет выведено:

3
4
5
1
2

Таким образом, мы успешно вывели массив со сдвигом в языке программирования Go.