Go的结构体没有构造函数,通常可以使用工厂模式来解决这个问题。
一个结构体的声明是这样的:
package model type Student struct { Name string }
因为 Student 的首字母 S 是大写的,如果我们想在其他包创建 Student 的实例(比如 main 包),引入 model 包后,就可以直接创建 Student 的实例了。但是问题来了,如果是 student(即首字母 s 是小写的),在其他包是无法创建 student 实例的,这就需要工厂模式来解决。