Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmArCp 136 of 350 menu
◀ ▶

Копирование массива в Go

Присваивание массива копирует все значения, а не связывает два имени. Вторая переменная получает свой экземпляр данных: столько же ячеек с теми же числами на момент записи.

После копии изменение одного массива не трогает другой. Чтобы увидеть это, изменим ячейку в первой переменной и сравним вывод обеих:

origin := [3]int{10, 20, 30} copy := origin origin[0] = 99 fmt.Println(origin) fmt.Println(copy)

В origin первым числом станет 99, а copy сохранит 10, 20 и 30. Имена указывают на разные копии одного и того же начального содержимого.

Дан следующий массив:

base := [3]int{10, 20, 30}

Скопируйте base в twin через =. Измените base[2] на 0. Выведите оба массива.

Даны переменные:

left := [2]string{"same", "pair"} right := left

Поменяйте строку только в left[0] на "other". Выведите обе переменные и скажите, совпадет ли вторая ячейка в right.

Скажите, изменится ли backup после backup = mainRow, если потом менять только mainRow, не трогая backup.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить