# Golang 学生管理系统 **Published by:** [Robin](https://paragraph.com/@robin-8/) **Published on:** 2023-02-24 **URL:** https://paragraph.com/@robin-8/golang ## Content package main import ( "fmt" "os" ) //通过函数实现学生管理系统:增删改查 type student struct { id int name string } var ( allstudnet map[int]student = make(map[int]student) ) func selectstu() { for k, v := range allstudnet { fmt.Printf("Studnet ID:%d\t Studnet Name: %s\n", k, v.name) } } func addstu() { var ( stuID int stuName string ) fmt.Print("Pls input student ID: ") fmt.Scanln(&stuID) fmt.Print("Pls input student Name: ") fmt.Scanln(&stuName) allstudnet[stuID] = student{id: stuID, name: stuName} } func deletestu() { var stuID int fmt.Print("Pls input student ID: ") fmt.Scanln(&stuID) delete(allstudnet, stuID) } func updatestu() { var ( stuID int stuName string ) fmt.Print("Pls input student ID: ") fmt.Scanln(&stuID) fmt.Print("Pls input student Name: ") fmt.Scanln(&stuName) allstudnet[stuID] = student{id: stuID, name: stuName} } func main() { for { fmt.Println(` Welcome to Studnet Management System. 1. Select studnet info 2. Add a new studnet 3. Delete a studnet 4. Update a studnet info 5. Exit `) fmt.Print("Pls input what operations you wanna do: ") var choice int fmt.Scanln(&choice) switch choice { case 1: selectstu() case 2: addstu() case 3: deletestu() case 4: updatestu() case 5: os.Exit(1) default: fmt.Println("Pls input correct options!") } } } package main import ( "fmt" "os" ) // 学生管理系统 类实现 type student struct { id int name string } type studnetManager struct { allstudnet map[int]student } func (s studnetManager) selectstu() { for k, v := range s.allstudnet { fmt.Printf("Studnet ID:%d\t Studnet Name: %s\n", k, v.name) } } func (s studnetManager) addsu() { var ( stuID int stuName string ) fmt.Print("Pls input student ID: ") fmt.Scanln(&stuID) fmt.Print("Pls input student Name: ") fmt.Scanln(&stuName) s.allstudnet[stuID] = student{id: stuID, name: stuName} } func (s studnetManager) deletestu() { var stuID int fmt.Print("Pls input student ID: ") fmt.Scanln(&stuID) delete(s.allstudnet, stuID) } func (s studnetManager) updatestu() { var ( stuID int stuName string ) fmt.Print("Pls input student ID: ") fmt.Scanln(&stuID) fmt.Print("Pls input student Name: ") fmt.Scanln(&stuName) s.allstudnet[stuID] = student{id: stuID, name: stuName} } func main() { smr := studnetManager{allstudnet: make(map[int]student, 100)} for { fmt.Println(` Welcome to Studnet Management System. 1. Select studnet info 2. Add a new studnet 3. Delete a studnet 4. Update a studnet info 5. Exit `) fmt.Print("Pls input what operations you wanna do: ") var choice int fmt.Scanln(&choice) switch choice { case 1: smr.selectstu() case 2: smr.addsu() case 3: smr.deletestu() case 4: smr.updatestu() case 5: os.Exit(1) default: fmt.Println("Pls input correct options!") } } } ## Publication Information - [Robin](https://paragraph.com/@robin-8/): Publication homepage - [All Posts](https://paragraph.com/@robin-8/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@robin-8): Subscribe to updates