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

Длина как часть типа в Go

Длина входит в тип массива, поэтому два массива разной длины: это два разных типа. Запись [2]int и запись [3]int для языка не одно и то же, хотя элемент в обоих случаях целый.

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

Объявим пару из двух целых и тройку из трех, затем попробуем записать одну переменную в другую:

pair := [2]int{1, 2} triple := [3]int{10, 20, 30} pair = triple

Такой код не собирается: тип [2]int и тип [3]int не совпадают. Чтобы работать с другим размером, нужна новая переменная с подходящей длиной в типе.

Скажите, совпадет ли тип у [3]int и [3]int у двух разных переменных в одной программе.

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

small := [2]int{1, 2} wide := [4]int{1, 2, 3, 4}

Скажите, соберется ли программа, если после них написать small = wide.

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

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

Выведите row и скажите, какая длина зашита в тип row.

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