感觉老师的有点乱,所以和老师的不太一样,用的形式比较简单,有问题可留言

package mainimport "fmt"func main() {    for {        choose := -1        fmt.Println("——————客户信息管理系统——————")        fmt.Println("1 增加客户       2 批改客户")        fmt.Println("3 删除客户       4 客户列表")        fmt.Println("5 退出")        fmt.Println("请抉择 (1~5)")        fmt.Scanln(&choose)        if choose != 5 {            if choose == 1 {                addCus()            } else if choose == 2 {                updateCus()            } else if choose == 3 {                delCus()            } else if choose == 4 {                listCus()            } else {                return            }        } else {            return        }    }}//定义客户构造体type customer struct {    id    string    name  string    sex   string    age   int    phone string    email string}//存储客户信息var cusList []customer//增加func addCus() {    var addCus customer    fmt.Println("————增加客户————")    fmt.Print("编号: ")    fmt.Scanln(&addCus.id)    fmt.Print("姓名: ")    fmt.Scanln(&addCus.name)    fmt.Print("性别: ")    fmt.Scanln(&addCus.sex)    fmt.Print("年龄: ")    fmt.Scanln(&addCus.age)    fmt.Print("电话: ")    fmt.Scanln(&addCus.phone)    fmt.Print("邮箱: ")    fmt.Scanln(&addCus.email)    fmt.Println("————增加实现————")    cusList = append(cusList, addCus)}//批改func updateCus() {    var updateCus customer    var upID string    fmt.Println("————批改客户————")    fmt.Print("请输出待批改的客户编号(-1退出到菜单): ")    fmt.Scanln(&upID)    if upID != "-1" {        for index, value := range cusList {            if value.id == upID {                fmt.Println("————————批改客户信息(间接回车不批改)———————")                fmt.Println("编号:", value.id)                fmt.Printf("姓名(%s):", value.name)                fmt.Scanln(&updateCus.name)                if updateCus.name != "" {                    cusList[index].name = updateCus.name                }                fmt.Printf("性别(%s):", value.sex)                fmt.Scanln(&updateCus.sex)                if updateCus.sex != "" {                    cusList[index].sex = updateCus.sex                }                fmt.Printf("年龄(%d):", value.age)                fmt.Scanln(&updateCus.age)                if updateCus.age != 0 {                    cusList[index].age = updateCus.age                }                fmt.Printf("电话(%s):", value.phone)                fmt.Scanln(&updateCus.phone)                if updateCus.phone != "" {                    cusList[index].phone = updateCus.phone                }                fmt.Printf("邮箱(%s):", value.email)                fmt.Scanln(&updateCus.email)                if updateCus.email != "" {                    cusList[index].email = updateCus.email                }                fmt.Println("—————————批改实现————————————")                break            }        }        fmt.Println("输出编号不存在")    } else {        return    }}//删除func delCus() {    var delID string    var choose string    fmt.Println("————删除客户————")    fmt.Print("请输出待删除的客户编号(-1退出): ")    fmt.Scanln(&delID)    if delID != "-1" {        for index, value := range cusList {            //存在输出的id            if value.id == delID {                fmt.Println("编号:", value.id)                fmt.Println("姓名:", value.name)                fmt.Println("性别:", value.sex)                fmt.Println("年龄:", value.age)                fmt.Println("电话:", value.phone)                fmt.Println("邮箱:", value.email)                fmt.Println("确认删除:(是)Y   (否)N")                fmt.Scanln(&choose)                if choose == "Y" || choose == "y" {                    //删除的元素在结尾                    if index == len(cusList)-1 {                        cusList = cusList[:index]                        return                        //删除的为首元素                    } else if index == 0 {                        cusList = cusList[1:]                        return                    } else {                        //删除的元素在两头:将元素的后面和前面从新拼接,不包含要删除的元素自身                        cusList = append(cusList[:index], cusList[index+1:]...) //须要保留开端三个点                        return                    }                } else {                    return                }            }        }        // 输出的id没有        fmt.Println("编号输出有误!")        return    } else {        return    }}//查问func listCus() {    var findID string    fmt.Println("输出 id 查找,回车显示全副")    fmt.Scanln(&findID)    if len(cusList) == 0 {        fmt.Println("暂无客户信息,返回菜单")        return    } else {        //全副查问        if findID == "" {            fmt.Println("————————客户列表——————————")            fmt.Println("编号", "\t姓名", "\t性别", "\t年龄", "\t电话", "\t邮箱")            for _, value := range cusList {                fmt.Println(value.id, "\t", value.name, "\t", value.sex, "\t", value.age, "\t", value.phone, "\t", value.phone)            }            fmt.Println("——————————————————————")            //依据ID查问        } else {            for _, value := range cusList {                if value.id == findID {                    fmt.Println("————————客户信息———————")                    fmt.Println("编号: ", value.id)                    fmt.Println("姓名: ", value.name)                    fmt.Println("性别: ", value.sex)                    fmt.Println("年龄: ", value.age)                    fmt.Println("电话: ", value.phone)                    fmt.Println("邮箱: ", value.email)                    fmt.Println("——————————————————————")                    return                }            }            fmt.Println("输出ID不存在,返回菜单")            return        }    }}