Go语言的其他包小写变量名引用(俗称工厂模式)
Posted 程序彤
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言的其他包小写变量名引用(俗称工厂模式)相关的知识,希望对你有一定的参考价值。
- 定义
package model
type Student struct{
Name string
Score float64
}
// 当结构体为小写时
type person struct{
Name string
score float64
}
func NewPerson(n string,s float64) *person{
return &person{
Name : n,
score:s,
}
}
func (p *person) GetScore() float64{ // 封装特性。。。
return (*p).score;
}
- 测试
package main
import(
"fmt"
"go_code/day0602/model"
)
func main(){
// var stu = model.Student{ // model包中的结构体
// Name:"li1",
// Score:79.2,
// }
// fmt.Println(stu)
// var per = model.person{ // 小写时不能引用,解决方法:工厂模式
// Name:"li2",
// Score:80.2,
// }
// fmt.Println(per)
// 调方法(工厂模式)
var person = model.NewPerson("tom",78.9)
fmt.Println(*person)
fmt.Println(person.GetScore()) // 调用person结构体指针类型的方法
}
以上是关于Go语言的其他包小写变量名引用(俗称工厂模式)的主要内容,如果未能解决你的问题,请参考以下文章