Есть ли хороший способ вставить инициализированные структурные переменные в другую структуру?Как вставить инициализированную переменную в структуру?
Рассмотрим следующую ситуацию:
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
Возможно ли это сделать ?
Я найти его трудно следовать, что вы пытаетесь спросить , Возможно, я устал, или, может быть, вы не очень хорошо объяснили. Не могли бы вы переписать его более четко? – Alasdair
[Вложение] (http://golang.org/doc/effective_go.html#embedding) имеет конкретное значение в Go, но я вообще не вижу, чтобы вы использовали встроенные структуры. Вы пытаетесь использовать их таким образом? – JimB
@JimB да. Я пытаюсь использовать их таким образом, чтобы я мог использовать инициализированный AccountDef в структуре Login, поэтому, когда я создаю экземпляр в функции с помощью 'new (Login)' или 'Login {}' я хочу 'AdminUser' и' AdminPass' как заполнены значениями по умолчанию, поэтому мне не нужно использовать 'Login {AdminUser:« acc1 », AdminPass:« pass1 »}' для каждой функции, которая этого требует. Я мог бы взглянуть на использование другой частной функции для выполнения этой задачи и назвать ее, но было интересно, есть ли лучший способ, чем просто создание фабричной функции. –