Go综合练习之客户管理系统(初识MVC开发模式)
目的:实现对客户对象的创建,修改,删除(用切片实现)并且打印客户明细表
界面如下:
-----客户管理系统-----
1.添加客户
2.修改客户
3.删除客户
4.客户列表
5.退 出
请选择(1-5):
-----添加客户------
姓名:张三
性别:男
年龄:30
电话:010-56253825
邮件:zhang@abc.com
-----添加成功------
----修改客户----
请选择待修改客户编号(-l退出):1
姓名:(张三)直接按回车表示不修改
性别:(男)
年龄:(30)
电话:(010-56253825)
邮件:(zhang@abc.com)
-----修改完成-----
----删除客户----
请选择待删除客户编号(-l退出):1
确定是否删除(y/n)
----删除完毕----
//没有客户编号:提示 该编号没有用户信息
----客户列表----
编号 姓名 性别 年龄 电话 邮件
1 xx 。
2 xxx 。。
-----客户列表完成----
文件目录如下:
代码如下:
main.go(view层)
package main
import (
"go_code/project01/12/02customer/Service"
"fmt"
"go_code/project01/12/02customer/model"
)
//视图结构体 仅在本包中使用
type view struct{
//控制操作的变量
Key string
//控制退出的变量
Is_out string
//使用service包中 方法 的 必要条件
Service *Service.Service
}
//工厂模式 创建 视图结构体
func NewView(key string,is_out string)*view{
return &view{
Key:key,
Is_out:is_out,
}
}
//显示所有客户信息
func (this *view)list(){
//得到当前所有的客户信息
slice:=this.Service.List()
//如何调用 ?
//1.slice[i].Id ....
//2.给 客户结构体 声明一个 方法String() 特性
//显示
fmt.Println("-----客户列表----")
fmt.Println("编号\t姓名\t性别\t年龄\t电话\t邮件")
for i:=0;i<len(slice);i++{
fmt.Println(slice[i].String())
}
fmt.Println("----显示完成----")
}
//添加客户
func (this *view)add(){
/*
-----添加客户------
姓名:张三
性别:男
年龄:30
电话:010-56253825
邮件:zhang@abc.com
-----添加成功------
*/
fmt.Println("-----添加客户-----")
fmt.Print("姓名:")
Name:=""
fmt.Scanln(&Name)
fmt.Print("性别:")
Sex:=""
fmt.Scanln(&Sex)
fmt.Print("年龄:")
Age:=0
fmt.Scanln(&Age)
fmt.Print("电话:")