go language student management system

Student Management System

Go to learn the language of the fourth day, write a function (followed by the structure) student management system, function is not rigorous, but the learning process just practiced hand code.

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("抱歉,输入有误!")
       }    
   }
}
Published 58 original articles · won praise 152 · views 50000 +

Guess you like

Origin blog.csdn.net/qq_43518645/article/details/104252728