学生管理系统
学习go语言的第4天,用函数(之后用结构体)写个学生管理系统,功能不严谨,只是学习过程中随便练手的代码。
package main
import (
"fmt"
"os"
)
//函数版的学生信息管理
/*
写一个系统能够查看、增加、删除学生
*/
type student struct {
id int64
name string
}
var (
allStudent map[int64]*student //变量声明
)
//构造函数
func newStudent(id int64, name string) *student {
return &student{
id: id,
name: name,
}
}
func showAllStudent() {
//把所有的学生打印出来
for k, v := range allStudent {
fmt.Printf("学号:%d 姓名:%s\n", k, v.name)
}
}
func addStudent() {
var (
id int64
name string
)
fmt.Print("请输入学生的学号:")
fmt.Scanln(&id)
fmt.Print("请输入学生的姓名:")
fmt.Scanln(&name)
newStu := newStudent(id, name)
allStudent[id] = newStu
}
func deleteStudent() {
var (
deleteID int64
)
fmt.Print("请输入要删除学生的学号:")
fmt.Scanln(&deleteID)
delete(allStudent, deleteID)
}
func main() {
allStudent = make(map[int64]*student, 60) //初始化
for {
//1.打印菜单
fmt.Println("欢迎使用学生管理系统")
fmt.Println(`
1.查看所有学生
2.新增学生
3.删除学生
4.退出
`
)
fmt.Print("请输入你要干什么:")
//2.等待用户选择
var choice int
fmt.Scanln(&choice)
fmt.Printf("你选择了%d这个选项:\n", choice)
//3.执行对应的函数
switch choice {
case 1:
showAllStudent()
case 2:
addStudent()
case 3:
deleteStudent()
case 4:
os.Exit(1) //退出
default: fmt.Println("抱歉,输入有误!")
}
}
}