package main
import (
"fmt"
"os"
)
type stu struct {
id int64
name string
}
type stuS struct {
stuMap map[int64]stu
}
func (s stuS) add() {
var (
id int64
name string
)
fmt.Print("输入学生学号")
fmt.Scanln(&id)
fmt.Println()
fmt.Print("输入学生姓名")
fmt.Scanln(&name)
fmt.Println()
newStu := stu{
id: id,
name: name,
}
s.stuMap[newStu.id] = newStu
fmt.Println("添加成功")
}
func (s stuS) all() {
for _, v := range s.stuMap {
fmt.Printf("当前学术的学号是 %d 当前学生的学生姓名是 %s\n ", v.id, v.name)
fmt.Println()
}
}
func (s stuS) dle() {
fmt.Println("输入要删除的学生的id")
var idstu int64
fmt.Scanln(&idstu)
_, ok := s.stuMap[idstu]
if !ok {
fmt.Println("没有这人")
return
}
delete(s.stuMap, idstu)
fmt.Println("删除成功")
}
func (s stuS) edit() {
fmt.Println("输入要修改的学生id")
var (
stuid int64
name string
)
fmt.Scanln(&stuid)
names, ok := s.stuMap[stuid]
fmt.Println("========================")
fmt.Println(names, ok)
fmt.Println("========================")
if !ok {
fmt.Println("查无此人")
return
}
fmt.Println("修改的学生姓名")
fmt.Scanln(&name)
names.name = name
fmt.Println("========================")
fmt.Println(names)
fmt.Println("========================")
s.stuMap[stuid] = names
}
var arr stuS
func main() {
arr = stuS{
stuMap: make(map[int64]stu, 100),
}
for {
fmt.Println("【1】 新增 【2】 查看 【3】 修改【4】 删除 【5】 退出")
fmt.Print("输入你的选择")
var aa int
fmt.Scanln(&aa)
switch aa {
case 1:
arr.add()
case 2:
arr.all()
case 3:
arr.edit()
case 4:
arr.dle()
case 5:
fmt.Println("退出成功成功欢迎下次使用")
os.Exit(1)
default:
fmt.Println("输入错误")
}
}
}