wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Основы Golang

Total questions: 11

Worksheet time: 6mins

Name
Class
Date
1.

Что произойдет, если функция вызвана с неправильным количеством аргументов?

a)

Компилятор выдаст предупреждение

b)

Ничего, функция адаптируется

c)

Ошибка компиляции

d)

Рантайм ошибка

2.

Как проверить, существует ли ключ в мапе, и избежать добавления нулевого значения, если ключ не найден?

a)

val := map.get(key)

b)

val, ok := map[key]

c)

val, if exists := map[key]

d)

val := map[key]

3.

Как можно избежать захвата значения переменной при обьявлении defer в Go?

a)

Обьявить новую переменную с тем же именем непосредственно перед defer.

b)

Использовать анонимную функцию, которая захватывает актуальное значение переменной в момент ее выполнения.

c)

Использовать указатели вместо значений.

d)

Захватывать значение переменной непосредственно перед выходом из функции.

4.

Чем отличается массив от слайса?

a)

Слайс не может быть многомерным

b)

Массивы не могут быть анонимными

c)

Слайс — это динамически изменяемая настройка над массивом

d)

Размер массива может изменяться во время выполнения

5.

Что содержит слайс в Go как структура данных?

a)

Список указателей на элементы

b)

Указатель на массив, длину и вместимость

c)

Динамически изменяемый массив с автоматическим управлением памяти

d)

Только указатель на массив

6.

Что означает тип int в Go и как он отличается от типов int8, int16, int32 и int64?

a)

int имеет переменную разрядность, зависящую от платформы (32 или 64 бита), а int8, int16, int32, int64 имеют фиксированную разрядность.

b)

int имеет фиксированную разрядность в 32 бита, а int8, int16, int32, int64 указывают на разрядность 8, 16, 32 и 64 бита соответственно.

c)

int это алиас для int32, а int8, int16, int64 предназначены для использования в сетевых протоколах.

d)

Все типы int имеют одинаковую разрядность, но int8, int16, int32, int64 используются для оптимизации памяти.

7.

Что будет результатом следующего кода?

a)

Ошибка компиляции

b)

world

c)

Ничего не выведется

d)

hello

8.

Какой порядок выполнения операций, если используется несколько defer в одной функции?

a)

Операции выполняются случайным образом

b)

Все операции выполняются одновременно

c)

Операции выполняются в обратном порядке их объявления

d)

Операции выполняются в порядке их объявления

9.

В какой момент вычисляются аргументы функции, вызываемой с помощью defer?

a)

Аргументы вычисляются заранее, но могут быть обновлены до момента вызова

b)

Аргументы вычисляются в момент фактического вызова функции при выходе из области видимости

c)

Аргументы не вычисляются до тех пор, пока не будет вызвана отложенная функция

d)

Аргументы вычисляются в момент объявления defer и не изменяются

10.

Как создать слайс, который изначально имеет длину 5 и вместимость 10?

a)

[]int{5, 10}

b)

make([]int, 5, 10)

c)

make([]int, 10)[0:5]

d)

new([10]int)[0:5]

11.

Как передача аргументов по значению влияет на исходные данные в функции?

a)

Изменения внутри функции не влияют на исходные данные

b)

Данные передаются только по ссылке

c)

Функция не может изменять переданные данные

d)

Исходные данные могут быть модифицированы внутри функции