Go语言没有构造函数,但是我们可以使用结构体初始化的过程来模拟实现构造函数
package mainimport "fmt"type Student struct {name stringage intsex byteaddr string}// 定义模拟构造函数func NewStudent(name string, age int, sex byte, addr string) *Student {return &Student{name: name,age: age,sex: sex,addr: addr,}}func changeAge(s *Student) {s.age = 23}func main() {s := NewStudent("sgg", 22, 1, "jiangsu")changeAge(s) // 不传地址会报错fmt.Println(s.age) // 23}
