最近在學習 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】")
}
}
}