GO语言学生信息管理系统(超详细,带源码)
前言
简单实现go学生信息管理系统,无数据库部分,仅用Java基础指数实现简单的Java学生信息管理系统。
学生信息可自由添加,功能仅限于简单的增删改查。
该程序利用map映射,以学生的id学生结果作为map的k-v结构,使用该map存储修改删除信息,代替数据库的功能,并在使用之前在其中放入一条数据以方便查看
在选项方面,使用了switch和case的结构方便代码的管理
`
一、创建结构体
给学生设置四个属性,分别为Id,Name,Collage,Major,分别代表学生的学号,姓名,学院和专业,其中,学号不可重复,其余没有限制,几乎所有功能在使用之前都会查重id
type student struct {
Id string
Name string
College string
Major string
}
二、增删改查的实现
1.增加学生信息
代码如下(示例):
fmt.Println("------------1.添加信息-------------")
fmt.Println("输入您要添加的学号")
var id string
fmt.Scan(&id)
index := ""
for i, _ := range list {
if id == i {
index = i
}
}
if len(index) == 0 {
fmt.Println("输入您要添加的姓名")
var name string
fmt.Scan(&name)
fmt.Println("输入您要添加的学院")
var collage string
fmt.Scan(&collage)
fmt.Println("输入您要添加的专业")
var major string
fmt.Scan(&major)
student_new := student{Id: id, Name: name, College: collage, Major: major}
list[student_new.Id] = student_new
fmt.Println("添加成功")
} else {
fmt.Println("学号重复")
}
2.删除学生信息
fmt.Println("------------2.删除信息-------------")
fmt.Println("输入你要删除的学号")
var id string
fmt.Scan(&id)
index := ""
for i, _ := range list {
if id == i {
index = i
}
}
if len(index) != 0 {
delete(list, index)
fmt.Println("删除成功")
} else {
fmt.Println("输入错误或学号不存在")
}
3.修改学生信息
fmt.Println("------------3.修改信息-------------")
fmt.Println("输入你要修改的学号")
var id string
fmt.Scan(&id)
index := ""
for i, _ := range list {
if i == id {
index = i
}
}
if len(index) != 0 {
fmt.Println("输入您要添加的姓名")
var name string
fmt.Scan(&name)
fmt.Println("输入您要添加的学院")
var collage string
fmt.Scan(&collage)
fmt.Println("输入您要添加的专业")
var major string
fmt.Scan(&major)
delete(list, index)
student_new := student{Id: id, Name: name, College: collage, Major: major}
list[student_new.Id] = student_new
fmt.Println("修改成功")
}
4.查询学生信息
fmt.Println("------------4.查看信息-------------")
fmt.Println("输入你要查看信息的学号")
var id string
fmt.Scan(&id)
index := ""
for i, _ := range list {
if i == id {
index = i
}
}
if len(index) != 0 {
fmt.Println(list[index].Id)
fmt.Println(list[index].Name)
fmt.Println(list[index].College)
fmt.Println(list[index].Major)
} else {
fmt.Println("学号不存在或输入错误")
}
5.退出系统
fmt.Println("------------5.退出系统-------------")
break tmp
总结
代码功能总体而言相对完善,但是可拓展性强,本代码并没有采用数据库技术,同时本代码将所有选项在代码块中实现,并没有采用包结构
package main
import (
"fmt"
)
type student struct {
Id string
Name string
College string
Major string
}
func main() {
student1 := student{Id: "120001", Name: "Job", College: "经济管理学院", Major: "会计"}
list := make(map[string]student)
list[student1.Id] = student1
fmt.Println("------------欢迎进入学生管理系统-------------")
fmt.Println("------------1.添加信息-------------")
fmt.Println("------------2.删除信息-------------")
fmt.Println("------------3.修改信息-------------")
fmt.Println("------------4.查看信息-------------")
fmt.Println("------------5.退出系统-------------")
fmt.Println("-------------------------")
tmp:
for {
fmt.Println("------------请选择您要的功能-------------")
var option int
fmt.Scan(&option)
switch option {
case 1:
fmt.Println("------------1.添加信息-------------")
fmt.Println("输入您要添加的学号")
var id string
fmt.Scan(&id)
index := ""
for i, _ := range list {
if id == i {
index = i
}
}
if len(index) == 0 {
fmt.Println("输入您要添加的姓名")
var name string
fmt.Scan(&name)
fmt.Println("输入您要添加的学院")
var collage string
fmt.Scan(&collage)
fmt.Println("输入您要添加的专业")
var major string
fmt.Scan(&major)
student_new := student{Id: id, Name: name, College: collage, Major: major}
list[student_new.Id] = student_new
fmt.Println("添加成功")
} else {
fmt.Println("学号重复")
}
case 2:
fmt.Println("------------2.删除信息-------------")
fmt.Println("输入你要删除的学号")
var id string
fmt.Scan(&id)
index := ""
for i, _ := range list {
if id == i {
index = i
}
}
if len(index) != 0 {
delete(list, index)
fmt.Println("删除成功")
} else {
fmt.Println("输入错误或学号不存在")
}
case 3:
fmt.Println("------------3.修改信息-------------")
fmt.Println("输入你要修改的学号")
var id string
fmt.Scan(&id)
index := ""
for i, _ := range list {
if i == id {
index = i
}
}
if len(index) != 0 {
fmt.Println("输入您要添加的姓名")
var name string
fmt.Scan(&name)
fmt.Println("输入您要添加的学院")
var collage string
fmt.Scan(&collage)
fmt.Println("输入您要添加的专业")
var major string
fmt.Scan(&major)
delete(list, index)
student_new := student{Id: id, Name: name, College: collage, Major: major}
list[student_new.Id] = student_new
fmt.Println("修改成功")
}
case 4:
fmt.Println("------------4.查看信息-------------")
fmt.Println("输入你要查看信息的学号")
var id string
fmt.Scan(&id)
index := ""
for i, _ := range list {
if i == id {
index = i
}
}
if len(index) != 0 {
fmt.Println(list[index].Id)
fmt.Println(list[index].Name)
fmt.Println(list[index].College)
fmt.Println(list[index].Major)
} else {
fmt.Println("学号不存在或输入错误")
}
case 5:
fmt.Println("------------5.退出系统-------------")
break tmp
}
}
}