首页 > 其他 > 详细

go 工厂模式解决struct小写问题

时间:2020-04-26 17:51:11      阅读:73      评论:0      收藏:0      [点我收藏+]

Golang 的结构体没有构造函数,通常可以使用工厂模式来解决这个问题。

一般结构体名称为大写字母开头才能被外部函数调用,用工厂模式来解决

示例:

student.go

package model

// 定义一个结构体
type student struct {
	Name  string
	Score float64
}

// 因为student结构体首字母是小写,因此只能在model内部调用
// 通过工厂模式来解决外部调用问题
// NewStudent gongchang
func NewStudent(n string, s float64) *student {
	a := &student{
		Name:  n,
		Score: s,
	}
	return a
}

  

  

main.go

package main

import (
	"0426/gongchang/model"
	"fmt"
)

func main() {

	// 创建要给Student实例
	// var stu = model.Student{
	// 	Name:  "tom",
	// 	Score: 88.8,
	// }
	// 定student结构体是首字母小写,定义工厂模式来解决
	var stu = model.NewStudent("tom~", 88.8)
	fmt.Println(*stu)
}

  

go 工厂模式解决struct小写问题

原文:https://www.cnblogs.com/sonfer/p/12780677.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!