结构的初始化函数
问题描述:
我意识到Go没有类,而是推动了结构的思想。结构的初始化函数
结构体是否有任何类型的初始化函数可以类似于类的__construct()函数调用?
实施例:
type Console struct {
X int
Y int
}
func (c *Console) init() {
c.X = "5"
}
// Here I want my init function to run
var console Console
// or here if I used
var console Console = new(Console)
答
Go没有隐式构造函数。你可能会写这样的东西。
package main
import "fmt"
type Console struct {
X int
Y int
}
func NewConsole() *Console {
return &Console{X: 5}
}
var console Console = *NewConsole()
func main() {
fmt.Println(console)
}
输出:
答
Go没有自动构造。通常,您可以创建自己的NewT() *T
函数来执行必要的初始化。但它必须手动调用。