最近在学习 go,通过go 编写了一个简单的学生信息管理系统,附上代码如下
package main
import (
"fmt"
"os"
//"math"
)
/*
函数版学生管理系统
1. 查看,新曾,删除
*/
// 创建存放所有学生元素的 map
var allStud map[int64]*student
type student struct {
id int64
name string
}
// 创建一个构造函数,进行学生结构体的创建
func newStud(id int64, name string) *student {
return &student{
id: id,
name: name,
}
}
func separator() {
fmt.Println("===========================")
}
func viewAllStud() {
separator()
fmt.Println("学号 姓名")
for k, v := range allStud {
fmt.Printf("%d %s\n", k, v.name)
}
}
func addStud() {
var (
id int64
name string
)
fmt.Print("请输入学号:")
fmt.Scanln(&id)
fmt.Print("请输入姓名")
fmt.Scanln(&name)
stud := newStud(id, name)
allStud[id] = stud
}
func delStud() {
separator()
var delID int64
fmt.Print("请输入要删除学生的学号")
fmt.Scanln(&delID)
delete(allStud,delID)
}
func main() {
allStud = make(map[int64]*student, 100)
for {
//1.打印菜单
//2.等待用户选择
//3.执行对应的函数
fmt.Println("欢迎使用学生管理系统!")
fmt.Printf("1.查看所有学生\n2.新增学生\n3.删除学生\n4.退出系统")
fmt.Println("请输入操作")
var choice int
fmt.Scanln(&choice)
//fmt.Printf("你选择了%d 这个选项\n", choice)
/*
用什么来存所有的学生信息??
删除学生,就是删除学生切片中指定的元素
添加学生的方法呢?
修改学生信息呢?
*/
switch choice {
case 1:
//查看学生
viewAllStud()
case 2:
// 新增学生
addStud()
case 3:
// 删除学生
delStud()
case 4:
fmt.Println("欢迎再次使用学生管理系统")
os.Exit(0)
default:
fmt.Println("请输入正确的选项:【1】 【2】 【3】 【4】")
}
}
}