go学习 day201 工厂模式
package main
import (
"day201/model"
"fmt"
)
func main() {
// 创建一个student的实例
//var stu = model.Student{"小红",12}
//fmt.Println(stu)
// 定义 student 结构体是首字母小写,我们可以通过工厂模式来解决
var stu = model.Newstudent("tom",45,20)
fmt.Println(*stu)
fmt.Println("name=",stu.Name,"score=",stu.Score)
fmt.Println("age=",stu.Getage())
}
package model
// 定义一个结构体
type student struct {
Name string
Score float64
age int
}
// 因为student结构体首字母是小写,因此是只能在model使用
// 我们通过工厂模式来解决
func Newstudent(n string,s float64,a int) *student {
return &student{
Name: n,
Score: s,
age: a,
}
}
// 如果score字段首字母小写。则,在其他包不可以直接访问,我们可以提供一个方法
func (s *student) Getage() int {
return s.age
}
本文来自博客园,作者:六月OvO,转载请注明原文链接:https://www.cnblogs.com/chenlifan/p/17191422.html