美文网首页
golang简单应用

golang简单应用

作者: 南苑bert | 来源:发表于2020-03-19 00:12 被阅读0次

    学习的golang的练习,推荐学习golang。https://www.liwenzhou.com

    mian.go 文件

    package main
    
    import (
        "fmt"
        "os"
    )
    
    func showAction() {
        fmt.Println("学生管理系统!")
        fmt.Println("1. 添加学生信息")
        fmt.Println("2. 编辑学生信息")
        fmt.Println("3. 显示学生信息")
        fmt.Println("4. 退出学生管理系统")
    }
    
    //getInput 获取输入信息
    func getInput() *Student {
    
        var (
            name string
            id   int
            ages int
        )
        fmt.Println("输入信息")
        fmt.Print("输入name: ")
        fmt.Scanf("%s\n", &name)
        fmt.Print("输入id: ")
        fmt.Scanf("%d\n", &id)
        fmt.Print("输入ages: ")
        fmt.Scanf("%d\n", &ages)
    
        stu := newStudent(name, id, ages)
        return stu
    }
    
    func main() {
        // getInput()
        allstu := newAllStudent()
    
        var input int
        showAction()
        for {
    
            // 1 显示菜单栏
    
            fmt.Print("请输入指令:")
            fmt.Scanf("%d\n", &input)
            fmt.Println("输入的命名是:", input)
    
            switch input {
            case 1:
                stu := getInput()
                allstu.addStu(stu)
            case 2:
                stu := getInput()
                allstu.setStu(stu)
            case 3:
                allstu.showStu()
            case 4:
                os.Exit(1)
            }
        }
    }
    
    

    actions.go 文件

    package main
    
    import "fmt"
    
    //Student 学生信息结构体
    type Student struct {
        Name string
        ID   int
        Age  int
    }
    
    //AllStudent 管理表
    type AllStudent struct {
        alls []*Student
    }
    
    //newStudent 学生信息初始化
    func newStudent(Name string, ID int, Age int) *Student {
        return &Student{
            Name: Name,
            ID:   ID,
            Age:  Age,
        }
    }
    
    //newAllStudent 初使化表
    func newAllStudent() *AllStudent {
        return &AllStudent{
            alls: make([]*Student, 0, 100),
        }
    }
    
    //addStu 添加学生信息
    func (s *AllStudent) addStu(newStu *Student) {
        s.alls = append(s.alls, newStu)
    }
    
    //setStu 编辑学生信息
    func (s *AllStudent) setStu(newStu *Student) {
    
        for k, v := range s.alls {
            if v.ID == newStu.ID {
                s.alls[k] = newStu
                return
            }
        }
        fmt.Printf("学生ID不存在")
    
    }
    
    //showStu 显示学生信息
    func (s *AllStudent) showStu() {
        for _, val := range s.alls {
            fmt.Printf("学生ID:%d 学生姓名:%s 学生年龄:%d", val.ID, val.Name, val.Age)
        }
    }
    
    
    

    相关文章

      网友评论

          本文标题:golang简单应用

          本文链接:https://www.haomeiwen.com/subject/jfnhyhtx.html