本节带领大家实现一个基于文本界面的客户关系管理软件,该软件可以实现对客户的插入、修改和删除,并且可以打印客户信息明细表。
软件由一下三个模块组成:
项目结构如下所示:
在 costumer.go 中,代码如下:
package model
import (
"fmt"
)
//声明一个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,
}
}
//第二种创建Customer实例方法,不带id
func NewCustomer2(name string, gender string,
age int, phone string, email string ) Customer {
return Customer{
Name : name,
Gender : gender,
Age : age,
Phone : phone,
Email : email,
}
}
//返回用户的信息,格式化的字符串
func (this Customer) GetInfo() string {
info := fmt.Sprintf("%v\t %v\t %v\t %v\t %v\t %v\t", this.Id,
this.Name, this.Gender,this.Age, this.Phone, this.Email)
return info
}
在 costumerService.go 中,代码如下:
package service
import (
"../model"
)
//该CustomerService, 完成对Customer的操作,包括
//增删改查
type CustomerService struct { <