主页 > 知识库 > 详解用Go语言实现工厂模式(Golang经典编程案例)

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

热门标签:涿州代理外呼系统 阿克苏地图标注 电话机器人软件免费 评价高的400电话办理 外呼系统用什么卡 寿光微信地图标注 excel地图标注分布数据 百度地图标注后传给手机 外呼系统显本地手机号

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语言设计模式之结构型模式

标签:鸡西 兰州 吐鲁番 铜川 重庆 钦州 梅河口 汕头

巨人网络通讯声明:本文标题《详解用Go语言实现工厂模式(Golang经典编程案例)》,本文关键词  详解,用,语言,实现,工厂,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《详解用Go语言实现工厂模式(Golang经典编程案例)》相关的同类信息!
  • 本页收集关于详解用Go语言实现工厂模式(Golang经典编程案例)的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章