• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    详解用Go语言实现工厂模式(Golang经典编程案例)

    golang中的struct没有构造函数,一般可以使用工厂模式来解决这个问题。这个模式本身很简单而且使用在业务较简单的情况下。一般用于小项目或者具体产品很少扩展的情况(这样工厂类才不用经常更改)。

    代码结构如下:分别有main.go和student.go两个文件。


    在student.go中:

    package model
    
    //定义一个结构体
    type student struct{
    	Name string
    	score float64
    }
    
    //因为student结构体首字母是小写,因此是只能在model使用
    //我们通过工厂模式来解决r
    func NewStudent(n string, s float64) *student {
    	return student{
    		Name : n,
    		score : s,
    	}
    }
    
    //如果score字段首字母小写,则,在其它包不可以直接方法,我们可以提供一个方法
    func (s *student) GetScore() float64{
    	return s.score //ok
    }
    

    在main.go中:

    package main
    
    import (
    	"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())
    }
    

    执行结果如下图所示:

    到此这篇关于详解用Go语言实现工厂模式(Golang经典编程案例)的文章就介绍到这了,更多相关Go语言工厂模式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • 详解Django的MVT设计模式
    • 如何使用django的MTV开发模式返回一个网页
    • 浅谈django三种缓存模式的使用及注意点
    • 浅谈django开发者模式中的autoreload是如何实现的
    • go语言单例模式(Singleton)实例分析
    • Go语言设计模式之结构型模式
    上一篇:golang 实现两个结构体复制字段
    下一篇:Go语言利用ssh连接服务器的方法步骤
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    详解用Go语言实现工厂模式(Golang经典编程案例) 详解,用,语言,实现,工厂,