用Go语言实现工厂模式:
golang中的struct没有构造函数,一般可以使用工厂模式来解决这个问题。这个模式本身很简单而且使用在业务较简单的情况下。一般用于小项目或者具体产品很少扩展的情况(这样工厂类才不用经常更改)。
代码结构如下:分别有main.go和student.go两个文件。
在student.go中:
在main.go中:
package mainimport ("fmt""factory/model")func main() {//创建要给Student实例// var stu = model.Student{// Name :"tom",// Score : 78.9,// }//定student结构体是首字母小写,我们可以通过工厂模式来解决var stu = model.NewStudent("tom~", 98.8)fmt.Println(*stu) //&{....}fmt.Println("name=", stu.Name, " score=", stu.GetScore())}执行结果如下图所示: