• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

02_Go游戏-函数版学生管理系统

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
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 addStu() {
    var (
        userID   int64
        userName string
    )

    fmt.Print("请输入学生学号:")
    fmt.Scanln(&userID)
    if _, ok := allStudent[userID]; !ok {
        fmt.Print("请输入学生姓名:")
        fmt.Scanln(&userName)
    } else {
        fmt.Println("学生ID已存在!")
    }

    newStu := newStudent(userID, userName) // 初始化分配内存空间
    allStudent[userID] = newStu
}

func delStu() {
    var userID int64
    fmt.Print("请输入要删除的学生ID:")
    fmt.Scanln(&userID)
    if _, ok := allStudent[userID]; ok {
        delete(allStudent, userID)
        fmt.Println("删除成功!")
    } else {
        fmt.Println("学生ID不存在!")
    }
}

func showStu() {
    for _, v := range allStudent {
        fmt.Printf("学生ID: %d, 学生姓名:%s\n", v.id, v.name)
    }
}

func main() {
    var choiceNum int
    allStudent = make(map[int64]*student, 50) // 初始化分配内存空间
    for {
        fmt.Println(`
    欢迎光临学生管理系统!
    您可以:
        1. 添加学生
        2. 删除学生
        3. 查看学生
        0. 退出系统
    请输入数字确定您的操作:
    `)
        fmt.Scanln(&choiceNum)
        switch choiceNum {
        case 1:
            addStu()
        case 2:
            delStu()
        case 3:
            showStu()
        case 0:
            os.Exit(0)
        default:
            fmt.Println("无效的输入!")
        }
    }

}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go操作RabbitMQ发布时间:2022-07-10
下一篇:
阿里 Flutter-go 项目拆解笔记(六)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap