Есть структуры User, Subscriber и Admin
type Admin struct {
Permissions map[string]interface{}
}
type Subscriber struct {
Online bool
Status string
SubscriptedTo []int
}
type User struct {
ID int
Login string
Role string // "subscriber"/"admin"
RoleModel ??? // здесь должен быть Admin{} или Subscriber{}
}
Как правильнее в User.RoleModel в зависимости от роли записать структуру Admin или Subscriber? Если делать через пустой интерфейс, то потом постоянно надо прогонять его через mapstructure.Decode
Может, есть какие-то идеи как подобную задачу решить иначе?