首页 > 其他 > 详细

Golang-工厂模式

时间:2020-04-07 01:14:58      阅读:77      评论:0      收藏:0      [点我收藏+]
Golang-工厂模式
  Golang 的结构体没有构造函数,通常可以使用工厂模式来解决这个问题。
  
  看一个需求
  一个结构体的声明是这样的: package model
  type Student struct { 
    Name string...
  }
  因为这里的Student 的首字母S 是大写的,如果我们想在其它包创建 Student 的实例(比如main 包), 引入 model 包后,就可以直接创建 Student 结构体的变量(实例)。但是问题来了,如果首字母是小写的, 比如 是 type student struct {....} 就不不行了,怎么办---> 工厂模式来解决.
 
工厂模式来解决问题
  使用工厂模式实现跨包创建结构体实例(变量)的案例:
  如果 model 包的 结构体变量首字母大写,引入后,直接使用, 没有问题
  技术分享图片   

  如果 model 包的 结构体变量首字母小写,引入后,不能直接使用, 可以工厂模式解决, 看老师演示, 代码:

  student.go

   技术分享图片

   main.go

   技术分享图片

  思考题
    同学们思考一下,如果 model 包的 student 的结构体的字段 Score 改成 score,我们还能正常访问吗?又应该如何解决这个问题呢?[老师给出思路,学员自己完成]
    解决方法如下:

    技术分享图片 技术分享图片

 

 

 

Golang-工厂模式

原文:https://www.cnblogs.com/Essaycode/p/12650474.html

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