var v struct{}
дает v
тип struct{}
, но явно не устанавливает значение, поэтому получает нулевое значение {}
.
t := struct{}
не является полным выражением.Вам потребуется t := struct{}{}
для создания t
с типом struct {}
и присвоения ему значения {}
.
Другими словами, struct{}
является типом, но создает t
с помощью :=
нужно значение, а не просто тип с правой стороны.struct{}{}
это то, как вы пишете буквальную форму анонимной пустой структуры.