go实现学生管理系统
时间: 2023-07-20 09:11:34 浏览: 38
好的,学生管理系统一般需要实现以下功能:
1. 添加学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5 显示所有学生信息
下面是一个简单的学生管理系统的实现,使用Go语言:
```go
package main
import (
"fmt"
)
type Student struct {
id string
name string
age int
}
type StudentList []Student
// 添加学生信息
func (sl *StudentList) AddStudent(s Student) {
*sl = append(*sl, s)
}
// 删除学生信息
func (sl *StudentList) DeleteStudent(id string) {
for i, s := range *sl {
if s.id == id {
*sl = append((*sl)[:i], (*sl)[i+1:]...)
break
}
}
}
// 修改学生信息
func (sl *StudentList) ModifyStudent(id string, s Student) {
for i, st := range *sl {
if st.id == id {
(*sl)[i] = s
break
}
}
}
// 查询学生信息
func (sl *StudentList) QueryStudent(id string) Student {
for _, s := range *sl {
if s.id == id {
return s
}
}
return Student{}
}
// 显示所有学生信息
func (sl *StudentList) ShowAllStudents() {
for _, s := range *sl {
fmt.Printf("ID: %s, Name: %s, Age: %d\n", s.id, s.name, s.age)
}
}
func main() {
var sl StudentList
// 添加学生信息
sl.AddStudent(Student{"001", "Tom", 18})
sl.AddStudent(Student{"002", "Jerry", 19})
sl.AddStudent(Student{"003", "Mike", 20})
// 显示所有学生信息
fmt.Println("All students:")
sl.ShowAllStudents()
// 查询学生信息
s := sl.QueryStudent("001")
fmt.Printf("Query student: ID: %s, Name: %s, Age: %d\n", s.id, s.name, s.age)
// 修改学生信息
sl.ModifyStudent("001", Student{"001", "Tommy", 19})
fmt.Println("After modify:")
sl.ShowAllStudents()
// 删除学生信息
sl.DeleteStudent("002")
fmt.Println("After delete:")
sl.ShowAllStudents()
}
```
在这个例子中,我们定义了一个 `Student` 结构体表示学生信息,然后定义了一个 `StudentList` 类型表示学生列表,包含了添加、删除、修改、查询和显示所有学生信息的方法。在 `main` 函数中,我们创建了一个 `StudentList` 实例,添加了三个学生信息,然后显示所有学生信息,查询并打印了一个学生信息,修改一个学生信息并打印所有学生信息,最后删除一个学生信息并再次打印所有学生信息。