Go语言结构体
Go语言结构体的基本语法
| type Book struct { |
| BOOK_NAME string |
| ANTHOR string |
| SUBJECT string |
| BOOK_ID int64 |
| } |
结构体作为参数
| func PrintBooK(BookEntity Book ) (){ |
| |
| fmt.Printf("%v\n", BookEntity.BOOK_NAME) |
| |
| fmt.Printf("%v\n", BookEntity.ANTHOR) |
| |
| fmt.Printf("%v\n", BookEntity.SUBJECT) |
| |
| fmt.Printf("%v\n", BookEntity.BOOK_ID) |
| |
| } |
结构体的使用
| package main |
| import "fmt" |
| func main() { |
| var person Person |
| |
| person.name = "张三" |
| person.age = 18 |
| person.height = 173 |
| person.weight = 53 |
| person.hobby = "学习" |
| fmt.Printf("person.name=%v\n", person.name) |
| fmt.Printf("person.age=%v\n", person.age) |
| fmt.Printf("person.height=%v\n", person.height) |
| fmt.Printf("person.weight=%v\n", person.weight) |
| fmt.Printf("person.hobby=%v\n", person.hobby) |
| |
| } |
| type Person struct { |
| |
| name string |
| |
| age int64 |
| |
| height int64 |
| |
| weight int64 |
| |
| hobby string |
| |
| } |
结构体方法
| |
| type Student struct { |
| Name string |
| Score int |
| } |
| 结构体方法,方法中可以使用结构体变量; |
| func (s Student) Study() { |
| s.Score += 10 |
| } |
使用结构体创造类
| package main |
| import "fmt" |
| |
| type Student struct { |
| id uint |
| name string |
| age int |
| socre uint |
| } |
| |
| func NewStudent(sid uint,s_name string,s_age int,s_score uint) *Student { |
| return &Student{id:sid,name:s_name,age:s_age,socre:s_score} |
| } |
| |
| func (s *Student) SetStudentName(name string){ |
| s.name = name |
| } |
| |
| func (s Student) GetStudentName() string{ |
| return s.name |
| } |
| func main() { |
| var stu * Student |
| stu = NewStudent(1,"张三",18,18) |
| fmt.Printf("stu:%v\n", *stu) |
| stu.SetStudentName("李四") |
| fmt.Printf("stu:%v age:%v\n", *stu,stu.GetStudentName()) |
| |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话