【Golang】客户信息管理系统

本文介绍了如何使用Golang开发一个基于文本界面的客户信息管理系统,包括需求分析、项目界面设计、程序框架图和核心代码实现,如主菜单、客户操作及列表展示等。
摘要由CSDN通过智能技术生成

*本文笔记参考:b站【尚硅谷】Golang入门到实战教程

1、项目需求分析

实现基于文本界面的《客户信息管理软件》,该软件能够实现对客户对象的插入、修改和删除(用切片实现),并能够打印客户明细表。

2、项目界面

项目采用分级菜单方式。

1)主菜单

---------------客户信息管理软件---------------
                 1 添加客户
                 2 修改客户
                 3 删除客户
                 4 客户列表
                 5 退出软件
                 
                 请选择(1-5):

2)添加客户

                 请选择(1-5):1
                 
------------------添加客户------------------
姓名:张三
性别:男
年龄:30
电话:010-56256789
邮箱:zhang@cvb.com
------------------添加完成------------------

3)修改客户

                 请选择(1-5):2
                 
------------------修改客户------------------
请选择待修改客户编号(-1退出):1
姓名(张三):<直接回车表示不修改>
性别(男):
年龄(30):
电话(010-56256789):
邮箱(zhang@cvb.com):zsan@cvb.com
------------------修改完成------------------

4)删除客户

                 请选择(1-5):3
                 
------------------删除客户------------------
请选择待删除客户编号(-1退出):1
确认是否删除(y/n):y
------------------删除完成------------------

5)客户列表

                 请选择(1-5):4
                 
------------------客户列表------------------
编号  姓名  性别  年龄  电话          邮箱
1    张三  男    30   010-56256789 zhang@avb.com
2    李四  女    24   010-56256790 li@avb.com
3    王五  男    26   010-56256791 wang@avb.com
-----------------客户列表完成----------------

3、程序框架图

程序框图:分析该模块有多少个文件(类),各类之间的调用关系,程序员需要按照架构师要求进行分层。

【代码步骤3】customerView.go[界面]
1.显示界面
2.接收用户的输入
3.根据用户的输入,调用customerService的方法完成客户的管理(删改、显示)
    |
    |
    |
【代码步骤2】customerService.go[处理业务逻辑]
1.对用户的各种操作
2.对用户的增删改、显示
3.声明一个customer的切片
    |
    |
    |
【代码步骤1】customer.go[表示数据]model层----->包含编号、姓名、性别、年龄、电话、邮箱
1.表示一个客户
2.客户各种字段

4、代码实现

1)显示主菜单和退出软件

编写customerView.go,另外可以把customerService.go和customer.go写上。

//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 "code/test1/model"
​
//完成对Customer的操作,包括增删改查
type CustomerService struct {
    customers []model.Customer
    //声明一个字段,表示当前切片含有多少个客户
    //该字段后面还可以作为新客户的id(原来客户的数量+1)
    customerNum int
}
//view/customerView.go
package main

import (
	"fmt"
)

type customerView struct {
	//定义必要的字段
	key  int  //接收用户的输入
	loop bool //是否退出循环
}

//显示主菜单
func (this *customerView) mainView() {
	for this.loop == true {
		fmt.Println("---------------客户信息管理软件---------------")
		fmt.Println("                1 添加客户")
		fmt.Println(&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值