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()
}
运行结果
上一篇: leetcode61. 旋转链表
下一篇: leetcode61. 旋转链表