go 语言实现简单的学生管理系统

tech2024-12-13  6

package main import "fmt" type Student_ struct { id int name string age int score float32 } type Class_ struct { class_name string //一个班级可以容纳多个学生 定义成切片方便操作 students []*Student_ } func (c *Class_) Delet_student(id int){// 主要要用到切片的删除 stu:=make([]*Student_,0,200) // 重新定义一个切片 for i,j:=range c.students{ if j.id==id{ continue } fmt.Println(j) stu=append(stu,c.students[i]) } c.students=stu } func (c *Class_)show_all(){ for _,j:=range(c.students){ fmt.Println(j.id,j.name,j.age,j.score) //fmt.Println(j) } } func(c *Class_) alter_student_information(id int,name string,age int,score float32){ for _,j :=range c.students{ if j.id==id{ j.name=name j.age=age j.score=score } } } func (c *Class_)add_stu(id int,name string,age int,score float32){ //因为c为指针接收者(影响原来类型的值),所以用&来初始一个stu stu:=&Student_{id,name,age,score} c.students=append(c.students,stu) } func main () { p:=Class_{"1001", make([]*Student_,0,200), //对切片进行一个实例化 } p.add_stu(10,"bosh",12,98.5) p.add_stu(11,"bosh1",13,98) p.add_stu(13,"bosh2",15,68) p.show_all() //fmt.Println("修改id 为13号的学生信息") //p.alter_student_information(13,"bosh3",16,89) //p.show_all() fmt.Println("删除11号学生") p.Delet_student(11) p.show_all() }

运行结果

最新回复(0)