go语言实现学生管理系统
Posted 李斌的BLOG
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言实现学生管理系统相关的知识,希望对你有一定的参考价值。
介绍
总结go语言的基础学习,通过两种方式实现简单的学生信息管理系统
方法一
package main
import (
"fmt"
"os"
)
// 定义所有学生信息
var studentData map[int]*student
// 定义学生
type student struct {
id int64
name string
score int
}
// 初始化分配内存空间
func init() {
studentData = make(map[int]*student,100)
}
func main() {
for{
fmt.Println("北京大学学生管理系统欢迎您!")
fmt.Println(`1:查看所有学生信息
2:新增学生
3:删除学生
4:退出系统`)
fmt.Print("请输入操作的序号:")
var inputId int
fmt.Scanln(&inputId)
switch inputId {
case 1:
showStudent()
case 2:
addStudent()
case 3:
delStudent()
case 4:
os.Exit(1)
}
}
}
// @title 学生信息展示
func showStudent() {
fmt.Println("------------------------------")
for k,v := range studentData {
fmt.Printf("学号:%d,姓名:%s,分数:%d \\n", k, v.name, v.score)
}
fmt.Println("------------------------------")
}
// @title 添加学生信息
func addStudent() {
// 定义输入的参数
var (
id int64
name string
score int
)
// 执行输入操作
fmt.Print("请输入学生的学号:")
fmt.Scanln(&id)
fmt.Print("请输入学生的姓名:")
fmt.Scanln(&name)
fmt.Print("请输入学生的分数:")
fmt.Scanln(&score)
// 通过构造函数生成学生信息
stu := newAddStudent(id,name,score)
// 追加到 map 中
studentData[int(id)] = stu
fmt.Printf("学号为:%d 的学生添加成功了\\n", id)
}
// @title 删除学生信息
func delStudent() {
var id int64
fmt.Print("请输入学生的学号:")
fmt.Scanln(&id)
delete(studentData, int(id))
fmt.Printf("学号为:%d 的学生删除成功\\n", id)
}
// @title 新增学生构造函数
func newAddStudent(id int64, name string,score int) *student {
return &student{
id:id,
name:name,
score: score,
}
}
方法二
package main
import (
"fmt"
"os"
)
// 定义所有学生信息
var studentData map[int]*student
// 定义学生
type student struct {
id int64
name string
score int
}
// 初始化分配内存空间
func init() {
studentData = make(map[int]*student,100)
}
func main() {
s := student{}
for{
fmt.Println("北京大学学生管理系统欢迎您!")
fmt.Println(`1:查看所有学生信息
2:新增学生
3:删除学生
4:退出系统`)
fmt.Print("请输入操作的序号:")
var inputId int
fmt.Scanln(&inputId)
switch inputId {
case 1:
s.showStudent()
case 2:
s.addStudent()
case 3:
s.delStudent()
case 4:
os.Exit(1)
}
}
}
// @title 学生信息展示
func (s *student) showStudent() {
fmt.Println("| ID | 姓名 | 成绩 |")
for k,v := range studentData {
fmt.Printf("| %-d | %-s | %-d |\\n", k, v.name, v.score)
}
}
// @title 添加学生信息
func (s *student) addStudent() {
// 定义输入的参数
var (
id int64
name string
score int
)
// 执行输入操作
fmt.Print("请输入学生的学号:")
fmt.Scanln(&id)
fmt.Print("请输入学生的姓名:")
fmt.Scanln(&name)
fmt.Print("请输入学生的分数:")
fmt.Scanln(&score)
// 通过构造函数生成学生信息
stu := newAddStudent(id,name,score)
// 追加到 map 中
studentData[int(id)] = stu
fmt.Printf("学号为:%d 的学生添加成功了\\n", id)
}
// @title 删除学生信息
func (s *student) delStudent() {
var id int64
fmt.Print("请输入学生的学号:")
fmt.Scanln(&id)
delete(studentData, int(id))
fmt.Printf("学号为:%d 的学生删除成功\\n", id)
}
// @title 新增学生构造函数
func newAddStudent(id int64, name string,score int) *student {
return &student{
id:id,
name:name,
score: score,
}
}
以上是关于go语言实现学生管理系统的主要内容,如果未能解决你的问题,请参考以下文章