wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Память и ООП в Golang

Total questions: 13

Worksheet time: 7mins

Name
Class
Date
1.

Чем пустой интерфейс отличается от пустой структуры?

a)

Пустой интерфейс и пустая структура - это одно и то же

b)

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

c)

Пустая структура используется только для работы с функциями

d)

Пустой интерфейс используется только для работы с примитивными типами

2.

Для чего используются ошибки, а для чего паника в Go?

a)

Ошибки и паника используются для одних и тех же целей

b)

Ошибки и паника - это синонимы друг друга

c)

Ошибки используются для обработки ожидаемых проблем, а паника - для неожиданных серьезных ошибок

d)

Ошибки используются для обработки серьезных ошибок, а паника - для ожидаемых проблем

3.

Чем тип any отличается от interface{}?

a)

Тип any используется только для хранения числовых значений.

b)

Тип any и пустой интерфейс - это одно и то же.

c)

Тип any может хранить значение любого типа, в то время как пустой интерфейс не хранит значение.

d)

Тип any используется только для хранения строк.

4.

Какой из следующих вариантов наиболее точно описывает различия между сравнением ошибок с помощью ==, функции errors.As

a)

Оператор == сравнивает ошибки по их типам, errors.Is проверяет, является ли ошибка определенным типом, и errors.As

приводит ошибку к определенному типу.

b)

Оператор == сравнивает ошибки по их значениям, errors.Is

проверяет, является ли ошибка определенным типом или значением, и errors.As

приводит ошибку к определенному типу, если это возможно.

c)

Оператор == сравнивает ошибки по их значениям, errors.Is

проверяет, является ли ошибка определенным значением, и errors.As

проверяет, является ли ошибка определенным типом.

d)

Оператор == сравнивает ошибки по их типам, errors.Is

проверяет, является ли ошибка определенным значением, и errors.As

приводит ошибку к определенному типу.

5.

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

a)

recover()

b)

fmt.Errorf()

c)

panic()

6.

Что выведет этот код?

a)

true false 9

b)

false true 1

c)

false false 9

d)

false false 1

e)

true false 1

7.

Для чего используется интерфейс в Go?

a)

Для определения новых типов данных.

b)

Для работы с файловой системой.

c)

Для определения набора методов, которые должен реализовывать тип данных.

d)

Для импорта внешних библиотек.

8.

Имеет ли значение порядок полей в структуре Go?

a)

Порядок полей имеет значение только для структур с анонимными полями.

b)

Да, порядок полей может влиять на выравнивание памяти и размер структуры.

c)

Нет, порядок полей не имеет значения.

d)

Порядок полей имеет значение только для структур с именованными полями.

9.

Что такое паника в Go?

a)

Паника - это 1 в 1 исключения из других языков

b)

Паника - это серьезная ошибка, которая обычно приводит к немедленному завершению программы

c)

Паника - это специальный тип ошибки, возникающий при работе с файлами

d)

Паника - это механизм для обработки ошибок ввода-вывода

10.

Что произойдет, если сравнить интерфейс, в котором лежит указатель на структуру, с nil?

a)

Произойдет ошибка во время выполнения.

b)

Результатом будет false, потому что интерфейс не пустой.

c)

Результатом будет true, потому что указатель на структуру равен nil.

d)

Результатом будет зависать программа.

11.

От чего зависит размер выравнивания в структуре Go?

a)

Все ответы верны.

b)

От архитектуры системы.

c)

От порядка полей в структуре.

d)

От типов данных полей в структуре.

12.

Что такое интерфейс в Go?

a)

Интерфейс - это специальный тип для работы с функциями.

b)

Интерфейс - это тип данных, который содержит поля и методы.

c)

Интерфейс - это синоним для структуры в Go.

d)

Интерфейс - это тип, который определяет набор сигнатур методов.

13.

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

a)

Использовать дженерики.

b)

Использовать динамическую диспетчеризацию.

c)

Использовать типобезопасное приведение типов.

d)

Использовать пустую структуру struct{}.