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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App