К вопросам

Рефлексия и интерфейсы

Тест · Вопрос 1 из 4

Тест

Вопрос 1

Что напечатает программа?

Go
package main

import "fmt"

type Test struct{}

func (t *Test) Close() error { return nil }

func main() {
	var t any
	var t2 *Test
	t = t2

	fmt.Println(t == nil, t2 == nil)
}
Варианты ответа

Выберите один ответ

`t2` — нулевой указатель `*Test`, поэтому `t2 == nil` истинно. В `t` типа `any` хранится пара «конкретный тип + значение»: динамический тип `*Test` с нулевым указателем, это не «пустой интерфейс», поэтому `t == nil` ложно.