golang简单应用

2020-03-19  本文已影响0人  南苑bert

学习的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)
    }
}


上一篇下一篇

猜你喜欢

热点阅读