Сопоставление Middle Структуры, методы и интерфейсы обновлено
Внутренности интерфейсов
Вопрос
Сопоставьте понятие и описание.
Попробуйте сами
Нажмите слева, потом подходящее справа.
Показать ответ и разбор
Коротко
any представлен структурой eface, интерфейс с методами структурой iface, где вместо типа указатель на itab. Интерфейс равен nil, только если и тип, и данные пусты, поэтому typed nil не равен nil.
Правильные пары
efaceПустой интерфейс: тип и указатель на данные
ifaceНепустой интерфейс: itab и указатель на данные
itabКешированная пара интерфейс-тип с таблицей методов
typed nilИнтерфейс с типом и nil-указателем, не равен nil
Разбор
any представлен структурой eface, интерфейс с методами структурой iface, где вместо типа указатель на itab. Интерфейс равен nil, только если и тип, и данные пусты, поэтому typed nil не равен nil.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Структуры, методы и интерфейсы»
- LRU-кеш на Go: map и двусвязный список
- Очередь с приоритетом через container/heap на Go
- Площади фигур через интерфейс Shape на Go
- Сортировка структур по нескольким ключам на Go
- Что выведет Go: встраивание и вызов метода
- Что выведет Go: интерфейс хранит копию значения
- Что выведет Go: method value и defer копируют ресивер
- Что выведет Go: nil-указатель в интерфейсе error