Интерфейс со значением и пустой интерфейс

Что выведетJuniorбесплатно04-t003

Одной интерфейсной переменной присвоено значение структуры, другая (другого интерфейсного типа) объявлена без присвоения. Что выведет сравнение каждой из них с nil?

main.gogo
1package main2 3import "fmt"4 5type Shape interface {6	Draw()7}8 9type Holder interface {10	Hold()11}12 13type shapeImpl struct{}14 15func (s shapeImpl) Draw() {}16 17func main() {18	var d Shape = shapeImpl{}19	var h Holder20 21	fmt.Println(h == nil)22	fmt.Println(d == nil)23}
Чем закончится программа?
Сначала подумай без запуска — на собесе компилятора не будет.