[英]Initialize multiple values in a struct using one function
我想使用相同的函數在結構中初始化多個變量,如下所示:
type temp struct {
i int
k int
}
func newtemp(age int) *temp{
return &temp{
i, k := initializer(age)
}
}
func initializer(age int)(int, int){
return age * 2, age * 3
}
但是,由於創建結構時必須使用:
來初始化變量,我不能這樣做,有什么辦法可以執行有效但仍像上面的代碼一樣的事情嗎?
使用復合文字不能。
使用元組分配,您可以:
func newtemp(age int) *temp{
t := temp{}
t.i, t.k = initializer(age)
return &t
}
測試它:
p := newtemp(2)
fmt.Println(p)
輸出(在Go Playground上嘗試):
&{4 6}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.