GO语言学习之路结构体实战
Posted 温文艾尔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GO语言学习之路结构体实战相关的知识,希望对你有一定的参考价值。
⭐️写在前面
- 这里是温文艾尔的学习之路
- 👍如果对你有帮助,给博主一个免费的点赞以示鼓励把QAQ
- 👋博客主页🎉 温文艾尔的学习小屋
- ⭐️更多文章👨🎓请关注温文艾尔主页📝
- 🍅文章发布日期:2022.05.025
- 👋java学习之路!
- 欢迎各位🔎点赞👍评论收藏⭐️
- 🎄冲冲冲🎄
- ⭐️上一篇内容:【GO语言学习之路】GO语言中的变量
文章目录
实战目标,利用结构体等实现对学生的
- 增加
- 修改
- 查询
package main
import "fmt"
//学员信息管理系统
/**
1.学生有id、姓名、年龄、分数等信息
2.程序提供展示学生列表、添加学生、编辑学生信息、删除学生等功能
*/
type Student struct
id int
name string
class string
func newStudent(id int, name string, class string) *Student
return &Student
id: id,
name: name,
class: class,
type studentMgr struct
allStudents []*Student
func newStudentMgr() *studentMgr
return &studentMgr
allStudents: make([]*Student, 0, 100),
//添加学生
func (s *studentMgr) addStudent(stu *Student)
s.allStudents = append(s.allStudents, stu)
//编辑学生
func (s *studentMgr) editStudent(stu *Student)
for i, v := range s.allStudents
if v.id == stu.id
s.allStudents[i] = stu
return
//走到这里说明没有找到指定的学生
fmt.Printf("输入的学生信息有误,系统中没有学号是 %d 的学生\\n", stu.id)
//删除学生
func (s *studentMgr) deleteStudent(stu *Student)
for i, v := range s.allStudents
if v.id == stu.id
s.allStudents = append(s.allStudents[:i], s.allStudents[i+1:]...)
return
//走到这里说明没有找到指定的学生
fmt.Printf("输入的学生信息有误,系统中没有学号是 %d 的学生\\n", stu.id)
//展示学生
func (s *studentMgr) showStudent()
for _, v := range s.allStudents
fmt.Printf("学号:%d 姓名: %s 班级: %s\\n", v.id, v.name, v.class)
package main
import (
"fmt"
"os"
)
//获取用户输入的函数
func getInput() *Student
var (
id int
name string
class string
)
fmt.Println("请按要求输入学员信息")
fmt.Print("请输入学员的学号:")
fmt.Scanf("%d\\n", &id)
fmt.Print("请输入学员的姓名:")
fmt.Scanf("%s\\n", &name)
fmt.Print("请输入学员的班级:")
fmt.Scanf("%s\\n", &class)
return newStudent(id, name, class)
func main()
sm := newStudentMgr()
for
//1.打印系统菜单
showMenu()
//2.等待用户选择选项
var input int
fmt.Println("请输入你要操作的序号")
fmt.Scanf("%d\\n", &input)
fmt.Println("用户输入的是", input)
//3.执行用户选择的动作
switch input
case 1:
//添加学员
sm.addStudent(getInput())
fmt.Println("添加成功")
case 2:
//编辑学员信息
sm.editStudent(getInput())
fmt.Println("编辑成功")
case 3:
//展示所有学员信息
sm.showStudent()
case 4:
//删除学员信息
sm.deleteStudent(getInput())
fmt.Println("删除成功")
case 5:
//退出系统
os.Exit(0)
func showMenu()
fmt.Println("欢迎来到学员信息管理系统")
fmt.Println("1.添加学员")
fmt.Println("2.编辑学员信息")
fmt.Println("3.展示所有学员信息")
fmt.Println("4.删除学员信息")
fmt.Println("5.退出系统")
测试
添加
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
1
用户输入的是 1
请按要求输入学员信息
请输入学员的学号:100
请输入学员的姓名:zs
请输入学员的班级:201913
添加成功
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
1
用户输入的是 1
请按要求输入学员信息
请输入学员的学号:101
请输入学员的姓名:ls
请输入学员的班级:201914
添加成功
删除
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
4
用户输入的是 4
请按要求输入学员信息
请输入学员的学号:100
请输入学员的姓名:zs
请输入学员的班级:201913
删除成功
修改
请输入你要操作的序号
3
用户输入的是 3
学号:101 姓名: ls 班级: 201914
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
2
用户输入的是 2
请按要求输入学员信息
请输入学员的学号:101
请输入学员的姓名:zs
请输入学员的班级:201913
编辑成功
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
3
用户输入的是 3
学号:101 姓名: zs 班级: 201913
查询
欢迎来到学员信息管理系统
1.添加学员
2.编辑学员信息
3.展示所有学员信息
4.删除学员信息
5.退出系统
请输入你要操作的序号
3
用户输入的是 3
学号:101 姓名: zs 班级: 201913
以上是关于GO语言学习之路结构体实战的主要内容,如果未能解决你的问题,请参考以下文章
c#部分---用结构体的题目- //请输入班级人数,输入每个人的学号,姓名,和语文分数数学分数和英语分数(要求使用结构体)