1.需求分析
1)模拟实现基于文本界面的《客户信息管理软件》
2)该软件能够实现对客户对象的插入、修改和删除(用切片实现),并能够打印客户明细表
2.项目界面设计
1)主菜单页面
---------客户信息管理软件--------
1.添加客户
2.修改客户
3.删除客户
4.客户列表
5.退出
请选择(1-5): _
2)添加客户页面
请选择(1-5): 1
---------添加客户---------
姓名:张三
性别:男
年龄:30
电话:010-56238762
---------添加完成---------
3)修改客户页面
请选择(1-5): 2
---------修改客户---------
请选择待修改客户编写(-1退出):1
姓名(张三):<直接回车表示不修改>
性别(男):
年龄(30):
电话(010-56238762):
邮箱([email protected]):[email protected]
---------修改完成---------
4)删除用户界面
请选择(1-5): 3
---------删除客户---------
请选择待删除客户编号(-1退出):1
确认是否删除(Y/N):y
---------删除完成---------
5)客户列表页面
请选择(1-5): 4
---------客户列表---------
编号 姓名 性别 年龄 电话 邮箱
1 张三 男 30 010-56238762 [email protected]
3.客户关系管理程序框架图
customerView.go(界面)v 【含customerService字段】
1)显示界面
2)接收输入
3)根据用户的输入,调用customerService的方法完成客户的管理(修改,删除,显示等待)
constomService(处理业务逻辑)业务处理
1)完成对用户的各种操作
2)对客户的增删改显示
3)会声明一个customer的切片
customer(表示数据) model层
1)表示一个客户
2)客户各种字段
4.项目功能实现
4.1显示主菜单和完成退出软件功能
1)功能的说明
当用户运行程序时,可以看到主菜单,当输入5时,可以退出该软件
2)思路分析
编写customerView.go,另外可以把customer.go和customerService写部分
3)代码实现
model/customer.go
package model //声明一个Customer结构体,表示一个客户信息 type Customer struct { Id int Name string Gender string Age int Phone string Email string } //使用一个工厂模式,返回一个Customer的实例 func NewCustomer(id int, name string, gender string, age int, phone string, email string) *Customer { return &Customer{ Id: id, Name: name, Gender: gender, Age: age, Phone: phone, Email: email, } }
service/customerService.go
package service import "gotest1/src/test/test59_1/model" //该CustomerService,完成对Customer的操作,包括增删改查 type CustomerService struct { customers []model.Customer //声明一个字段,表示当前切片含有多少个客户 //该字段后面,还可以作为新客户的id+1 customerNum int }
view/customerView.go
package main import "fmt" type customerView struct { key string //接收用户输入。。。 loop bool //表示是否循环的显示菜单 } func (this *customerView) mainView() { for { fmt.Println("---------客户信息管理软件--------") fmt.Println(" 1.添加客户") fmt.Println(" 2.修改客户") fmt.Println(" 3.删除客户") fmt.Println(" 4.客户列表") fmt.Println(" 5.退出") fmt.Print(" 请选择(1-5):") fmt.Scanln(&this.key) switch this.key { case "1": fmt.Println("添加用户") case "2": fmt.Println("修改客户") case "3": fmt.Println("删除列表") case "4": fmt.Println("客户列表") case "5": this.loop = false default: fmt.Println("您的输入有误,请重新输入...") } if !this.loop { break } } fmt.Println("您退出了客户关系管理系统...") } func main() { cv := customerView{ key: "", loop: true, } cv.mainView() }
标签:Customer,string,示例,fmt,golang,客户,Println,--------- From: https://www.cnblogs.com/xiaoxiaomuyuyu/p/17210687.html