欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-06 09:39:27
...
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()

}

运行结果
go 语言实现简单的学生管理系统

相关标签: go golang