结构的初始化函数

问题描述:

我意识到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函数来执行必要的初始化。但它必须手动调用。