Пустой интерфейс interface{} не содержит методов. Любой тип в Go может удовлетворить интерфейс, который не требует наличия каких-либо методов. Поэтому значение любого типа можно присвоить переменной типа interface{} или передать в функцию, принимающую interface{}. По сути, interface{} является контейнером для значения любого типа, хранящего как само значение, так и его тип.
go
Приведение к конкретному типу из interface{} возможно с применением типа утверждения (type assertion) или оператора-переключателя типа (type switch).
go