golang简单应用

bert_7eb4 · · 639 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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



有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:bert_7eb4

查看原文:golang简单应用

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

639 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传