客户管理系统-删除客户|学习笔记

简介: 快速学习客户管理系统-删除客户

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:客户管理系统-删除客户】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/626/detail/9723


客户管理系统-删除客户

 

内容介绍

一、功能说明

二、思路分析

三、代码实现

 

一、功能说明

image.png

它是当用户输入希望删除客户这个选项后,系统就会提示:请选择待删除客户的编号(-1退出,即如果输入-1就代表它不想删除了) ,如果输入的是其他的数,需要删除id。如果输入的id 号不存在,应该提示删除失败,id 不存在。而且输入一个具体的编号过后,应该再提示一下:确认是否删除(Y/N)。如果输入Y就代表需要删除,再根据输入的id 去查找客户,再去删除。如果查找不到客户,就说明客户不存在,此时删除完成。

 

二、思路分析

image.png

1.customer[表示数话] model 层

(1)表示一个客户

(2)客户各种字段

customer表示一个客户信息,因此它需要其含有客户必须的各种字段。

type Customerstruct

Id int

Name string

Genderstring...

写个方法 ,显示该用户的信息Getinfo

2.customerService [处理业务逻辑]

(1)完成对用户的各种操作

(2)对客户的增,删除,修改,显示

(3)会声明一个customer的切片

显示客户列表

编写方法List【返回客户信息,其实就是切片】

编写NewCustomerService返回一个customerService实例

添加客户

编写方法Add[将新的客户加入到customers切片]

编写方法Delete(idint) 删除一个客户

编写方法FindByld(id int)返回id号对应的切片的下标

3.customerView.go [界面]V【含 customerService 字段】

(1)可以显示界面

(2)可以接收用户的输入

(3)根据用户的输入,调用customerService的方法完成客户的管理【修改,删除,显示等等】,它是调用。

编写一个方法

list去调用customerService的List方法,并显示客户列表。

add 方法去调用customerService的Add方法,完成客户添加。delete方法 调用customerService 的Delete方法,完成客户删除。

image.png


三、代码实现

1.//根据id查找客户在切片中对应下标

如果没有该客户,返回-1

func (this *CustomerService)FindById(id int) int

//遍历this *Customer切片

for i := 0; i< len(this.customers);i++

if this.customers[i].Id =id

//找到

index = i

return index

2.//根据id删除客户(从切片中删除)

func (this *CustomerService) Delete(id int)boolf

index := this.FindById(id)

//如果index ==-1,说明没有这个客户

if index == -1

return false

3.//如何从切片中删除一个元素

this. customers = append(this . customers : index]

this.customers[ indext1:])

return true

4. delete方法 调用

customerService 的Delete方法,完成客户删除。

//得到用户的输入id,删除该id对应的客户

func (this *customerView) delete()

fmt.Println(”. 删除客户”)

fmt.Println("请选择待删除客户编号(-1退出):“)id := -1

fmt.Scanln(&id)

if id == -1

return

//如果id不等于-1,表示放弃删除操作

5.fmt.Println("确认是否删除(Y/N):")

//在这个里面可以加入一个循环判断,直到用户输入y 或者n,才退出。

choice:=“”

fmt.Scanln(&choice)

if choice =="y"|choice == "Y”[

//调用customerService 的 Delete方法

if this.customerService.Delete(id) [

fmt.Println("删除完成")

else

fmt.Println(“删除失败,输入的id号不存在")

此时删除任务完成。

case "1”:

this.add()

case“2”:

fmt.Println(“修改客户”)

case "3”:

this.delete() I

case"4":

this.list()

case "5”:

this.loop = false

default:

fmt.Println("你的输入有误,请重新输入...”)

全部保存后,打开d盘,进入到所写文件中,输入cmd,go run.

请选择1-5,并逐步添加人物。

客户列表:

编号

姓名

性别

年龄

电话

邮箱

1

张三

20

112

ZS@sohu.com

2

tom

20

112

tom@sohu.com

3

mary

24

113

mary@qq.com

客户列表完成

客户信息管理软件

1添加客户

2修改客户

3删除客户

4客户列表

5 退出

此时删除编号2的操作:

删除客户

请选择待删除客户编号(-1退出):

2

确认是否删除(Y/N):

y

删除完成

此时编号如下:

编号

姓名

性别

年龄

电话

邮箱

1

张三

20

112

ZS@sohu.com

3

mary

24

113

mary@qq.com

表示删除成功。

总结:

customerManage/model/customer.go [没有变化]

customerManage service customerService.go[有变化]

增加了两个方法:

1. Delete

func (this *CustomerService) Delete(id int) bool

index := this.FindById(id)

//如果index == -1,说明没有这个客A5

if index == -1 (

return false

//如何从切片中删除一个元素this.customers = append(this.customers[:index], this.customers[index+1:]...)return true

//根据id查找客户在切片中对应下标,如果没有该客户,返回-1

2. FindById

func (this *CustomerService) FindById(id int) int [

index := -1

//遍历 this.customers 切片

for i := 0; i< len(this.customers); i++ f

if this.customers[i].Id == id f

//找到

index = i

customerManage/view customerView.go[有变化]

在这个方法里接受了一个id,而在切片中主要起作用的还是delete方法:

//调用customerService 的 Delete方法

if this.customerService.Delete(id) [

fmt.Println("删除完成")

else

fmt.Println(“删除失败,输入的id号不存在")

相关文章
|
12天前
|
存储 搜索推荐 数据可视化
提升签单效率:CRM系统在客户签约管理中的关键作用
在竞争激烈的商业环境中,CRM系统作为企业销售和客户服务的核心工具,对签单速度的提升至关重要。本文探讨了CRM系统如何通过集中管理客户信息、可视化销售漏斗、自动化工作流程、个性化营销策略、数据分析与洞察、跨部门协作、移动办公便捷性和快速响应客户反馈等八大方面,有效加速签单过程,提高销售效率。
|
1月前
|
存储 数据采集 安全
客户管理CRM系统排行:使用最广泛的5款测评
在数字化时代,CRM系统成为企业提升销售效率、优化客户体验和增强竞争力的重要工具。本文综合评测了市场上五款广泛使用的CRM系统:销售易、天衣云、简道云、红圈和金蝶云之家,从推荐理由、产品功能、优势特色到适用企业,为读者提供全面参考。这些系统各具特色,企业应根据自身需求选择合适的CRM系统,以提升运营效率和客户满意度。
|
4月前
|
监控 搜索推荐 数据管理
crm客户管理系统来帮助企业管理和提高运营效率
crm系统帮助企业简化销售流程,提高工作效率。CRM 客户管理系统确实能够在多个方面帮助企业管理和提高运营效率,具体表现如下:
41 3
|
5月前
|
监控 数据挖掘 数据安全/隐私保护
ERP系统中的客户投诉管理与解决方案解析
【7月更文挑战第25天】 ERP系统中的客户投诉管理与解决方案解析
461 1
|
5月前
|
监控 搜索推荐 数据挖掘
ERP系统中的客户关系管理与客户满意度调查解析
【7月更文挑战第25天】 ERP系统中的客户关系管理与客户满意度调查解析
369 1
|
Java 关系型数据库 MySQL
删除客户 | 学习笔记
快速学习删除客户.
删除客户 | 学习笔记
|
机器学习/深度学习 网络协议 测试技术
客户管理系统-显示客户列表|学习笔记
快速学习客户管理系统-显示客户列表
客户管理系统-显示客户列表|学习笔记
|
Scala 开发者 索引
CRM 项目-删除客户 | 学习笔记
快速学习 CRM 项目-删除客户
|
网络协议 测试技术 Go
客户管理系统-添加客户|学习笔记
快速学习客户管理系统-添加客户
|
网络协议 测试技术 Go
客户管理系统-修改客户和作业|学习笔记
快速学习客户管理系统-修改客户和作业