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语言实现学生管理系统的主要内容,如果未能解决你的问题,请参考以下文章

Go语言学习基础-学生管理系统的实现

GO语言学习基础-学生管理系统的实现

Go语言进校园之西南交大站

Golang学习之路:结合GO+的学生管理系统

一天一门编程语言用 Go 语言实现一个 DAG 任务调度系统的API 接口代码

C语言与Go语言有什么区别?