有没有一种方法可以将初始化的struct变量嵌入另一个struct?
考虑以下情况:
type Account struct {
AdminUser, AdminPass string
}
const (
acc1: "account_user",
pass: "111222"
)
var AccountDef = Account {
AdminUser: "acc1",
AdminPass: "pass1"
}
type Login struct {
Acc *AccountDef
Username, Password, Token string
}
var LoginDef = Login {
Token: "adaasdasddas1123"
}
我想在AccountDef
中重用Login
,然后我想在另一个函数中实例化LoginDef
,然后将其用于呈现LoginDef.Acc.AdminUser
等模板
这可能吗?
答案 0 :(得分:0)
如果您希望Login
包含Account
中的字段,您可以这样嵌入它们:
http://play.golang.org/p/4DXnIsILd6
type Account struct {
AdminUser string
AdminPass string
}
type Login struct {
*Account
Username, Password, Token string
}
func main() {
acct := &Account{
AdminUser: "username",
AdminPass: "pass",
}
login := Login{Account: acct}
fmt.Println("login.AdminUser:", login.AdminUser)
fmt.Println("login.AdminPass:", login.AdminPass)
}