Состояние спецификации go:
Переменная типа интерфейса может хранить значение любого типа с набором методов, который является любым надмножеством интерфейса.
Таким образом, я могу
type Source interface{}
type SourceImpl struct{}
var s Source
g := new(interface{})
s = new(SourceImpl)
*g = s
Однако я не могу сделать то же самое с картами:
generic := make(map[string]*interface{})
specific := make(map[string]*Source)
generic = specific
дает:
cannot use specific (type map[string]*Source) as type map[string]*interface {} in assignment
Почему это так?Может ли карта определенных типов передаваться / назначаться карте общих типов без использования утверждения типа?