Метод Get равен func (m *muxctx) Get(string) interface{}
, типом возвращаемого значения является интерфейс {}, если значением является int (1), тип является интерфейсом {}, если значением является map [string] interface {}, тип возвращаемого типа также interface {}.
, поэтому тип ptr является интерфейсом {} в ptr, ok := muxctx.Get(req, "req-body-map")
, должен преобразовать интерфейс {} тип ptr в нужный тип, пример map [string] interface {}: ptr.(*map[string]interface{})
, map ptr? ptr.(map[string]interface{})
, map double ptr? ptr.(**map[string]interface{})
(*(muxctx.Get(req, "req-body-map"))
код преобразования недействителен, var i interface{}; *i
, тип i является интерфейсом {}, не используется * указатель удаления, необходимо преобразовать i в тип ptr, пример: n := i.(*int); *n
или m := i.(*map[string]interface{}); *m
.
golang spce do c:
Утверждения типа
Переключатели типа 。
небезопасно
Преобразования