实现学生增 修改,显示:开发截图:

主要作为一

个项目的开发框架来使用



main.go

package mainimport ("fmt""os"
)/*
1.学生信息管理
2.添加学生
3.修改学生
4.显示学生*///获取用户输入的学生信息func getInput() *Student {var (id    intname  stringclass string)fmt.Println("请按要求输入学生信息:")fmt.Print("请按要求输入学生学号:")fmt.Scanf("%d\n", &id)fmt.Print("请按要求输入学生姓名:")fmt.Scanf("%s\n", &name)fmt.Print("请按要求输入学生班级:")fmt.Scanf("%s\n", &class)//获取输入的所有信息stu := NewStudent(id, name, class) //调用student的构造一个学生信息return stu}func showMenu() {//菜单选项//fmt.Println()fmt.Println("1.添加学生")fmt.Println("2.修改学生")fmt.Println("3.显示学生")fmt.Println("4.退出系统")
}
func main() {sm := NewStudentMgr() //初始化学生的管理,调用后面的方法for {showMenu() //1.调用系统菜单var choice int //2.等待用户选择要执行的选项fmt.Print("请输入选项:")//fmt.Scanln(&choice)fmt.Scanf("%d\n", &choice)//3.选择输入的数字编号,执行用户选择的动作switch choice {case 1:stu := getInput()sm.addStudent(stu) //添加学生case 2:stu := getInput()sm.editStudent(stu) //编辑学生case 3:sm.showStudent() //显示所有学生case 4:os.Exit(0)default:fmt.Println("你输入的序号错误,请重新输入!")}//fmt.Printf("你的选择是%v\n", choice)}}func add() {fmt.Println("学生添加中...")}func upstu() {fmt.Println("学生修改中...")}
func showstu() {fmt.Println("显示所有学生中...")}

student.go

package mainimport "fmt"//创建一个学生模板
type Student struct {Id    intName  stringClass string
}//NewStudent 是Student类型的构造函数
func NewStudent(id int, name string, class string) *Student {return &Student{Id:    id,Name:  name,Class: class,}}//学员管理的类型
type StudentMgr struct {AllStudentlist []*Student
}//NewStudentMgr是StudentMgr的构造函数
func NewStudentMgr() *StudentMgr {return &StudentMgr{AllStudentlist: make([]*Student, 0, 100),}
}//1.添加学生
func (s *StudentMgr) addStudent(newStu *Student) {s.AllStudentlist = append(s.AllStudentlist, newStu)
}//2.修改学生
func (s *StudentMgr) editStudent(newStu *Student) {for i, v := range s.AllStudentlist {if newStu.Id == v.Id { //当学号相同是,就表示找到了要修改的学生s.AllStudentlist[i] = newStu //根据切片的索引值直接把新学生复制进来return}}//到这里说明输入的学生没有找到fmt.Printf("输入的学生信息有误,系统中没有学号:%d的学生\n", newStu.Id)
}//3.显示所有学生
func (s *StudentMgr) showStudent() {for _, v := range s.AllStudentlist {fmt.Printf("学号:%d 姓名:%s 班级:%s\n", v.Id, v.Name, v.Class)}}


本程序是由两部分组成,运行的时候有时候提示报错,就是需要把程序编程成一个文件在执行就是解决了报错的问题

编译命令:

go build -o student.exe main.go student.go

go build -o  #>>>>打包【生成exe文件命令】

student.exe   #>>>>>生成文件名称

main.go student.go  需要编译的两个  *.go文件;

go build -o student.exe main.go student.go

运行程序:

学生管理系统--golang--简单版本---开发框架相关推荐

  1. c语言实现的简单学生管理系统

    简单学生管理系统–c语言 花了一个月的时间,学习了链表,文件,多文件编程,然后就开始写学生管理系统,比较简单的那种,实现了增,添,改,查,多种排序,输入的时候的限定,成绩分析的功能.遇到的问题很多,也 ...

  2. Python学生管理系统——面向对象版本

    Python练习题----学生管理系统(面向对象版本) 一. 题目要求: 学生信息管理:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等.设计一个学生信息管理系统,使之提供以下功能: -- ...

  3. python成绩管理系统设计 gui csdn_用golang简单编写学生信息管理系统

    用golang简单编写学生信息管理系统 发布时间:2020-09-04 11:45:16编辑:三青(参考七米老师的视频)查看次数:187 student.gopackage main import & ...

  4. Android——一个简单的学生管理系统

    一个简单的学生管理系统 效果演示 实现功能总览 代码 效果演示 随手做的一个小玩意,还有很多功能没有完善,倘有疏漏,万望海涵. 实现功能总览 实现了登录.注册.忘记密码.成绩查询.考勤情况.课表查看. ...

  5. python小项目实例流程-Python小项目:快速开发出一个简单的学生管理系统

    原标题:Python小项目:快速开发出一个简单的学生管理系统 本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: ...

  6. python小项目案例-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

  7. python简单项目-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

  8. 运用HashMap和ArrayList打造一个简单的带文件的控制台学生管理系统(附上类及类方法的思维导图+控制台运行界面截图+源代码)

    文章目录: 一.本文由来 二.适合人群 三.类及类方法思维导图 四.控制台运行界面截图 五.项目源代码链接 六.后记 七.再回首 一.本文由来 今天是2020年1月23日.因为在2019年上半学期Ja ...

  9. java简单系统_Java简单学生管理系统

    Java简单学生管理系统 这个不需要手动输入,笔记记录 //student` public class student(){ private String id;//学号 private String ...

  10. python项目开发实例-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

最新文章

  1. 各大网站屏蔽搜索引擎抓取分析
  2. AMS重要的数据结构解析(二):TaskRecord
  3. python五子棋双人对弈_PyQt5实现五子棋游戏(人机对弈)
  4. java date linux,Java中Date,SimpleDateFormat
  5. Sublime Text3自定义快捷键
  6. Impala的操作命令之 内外shell
  7. 云信duilib之菜单
  8. vue+lodop打印快递面单
  9. vscode 显示/设置隐藏文件夹
  10. Android O (8.0) 新特性介绍
  11. 对SE_ResNet的理解
  12. 关闭springboot健康检查 org.springframework.boot.actuate.health.AbstractHealthIndicator 89 health - Elastic
  13. 生成html水印,兼容ie8,ie兼容性问题与解决办法,移动端水印给出的建议
  14. Flink入门(五) 实时流Join ElasticSearch6维度表
  15. 利用JWT安全验证(前后端分离,单点登录,分布式微服务)
  16. python使用代理爬虫_python爬虫requests使用代理ip
  17. 【夜读】让自己更幸福的8件小事
  18. 远程连接服务器(免密登录,ssh协议22号端口),web服务器:URL格式,http协议,http请求常用的方法(get和post)
  19. 计算机考试可以重复考吗,计算机二级能重复考吗
  20. Go_Channel详解

热门文章

  1. 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字(简单易懂)
  2. 谷歌Deep Dream解析(附源代码,可以直接运行)
  3. Educational Codeforces Round 67 E.Tree Painting (树形dp)
  4. 【洛谷习题】售货员的难题
  5. 【贪心 哈夫曼树】bzoj2923: [Poi1998]The lightest language
  6. 第二周冲刺第一天个人博客
  7. [NOIP2013] 华容道
  8. VC++ 求绝对值函数
  9. [python] 对于arcpy的简单使用。
  10. KMP模式匹配算法——C++