面向对象基础
在了解go基本知识结构之后,可以打造一些基础的模块,检验下之前的知识
点
需求
开发会员管理子模块,满足会员基本数据展示、增、删、改需求。抽象为单独的模块(类)
会员基本属性:会员ID,会员名称,会员所属组,会员现金余额,会员积分余额,会员是否有效,修改时间。
过程
go语言构造面向对象方式,用特定数据结构 struct + 属性+方法
在mylib 目录下创建包文件,user.go,内容如下
package mylib
import (
"fmt"
)
type MyUser struct {
Id int
Name string
UserGroup string
CashBanlance float32
OtherBanlance float32
IfDel bool
ModifyTime string
}
func (e MyUser) ShowMe() {
fmt.Println("id=", e.Id)
fmt.Println("name=", e.Name)
fmt.Println("group=", e.UserGroup)
fmt.Println("cash=", e.CashBanlance)
fmt.Println("other=", e.OtherBanlance)
fmt.Println("time=", e.ModifyTime)
}
在user.go源文件里,为项目工程,构造一个MyUser对象,同时给一个ShowMe方法。
这里变量属性在struct内部指定,方法在struct外部构造,方法构造类似定义函数,但有区别
//定义函数
func ShowMe(){
}
//构造类方法的方式1
func (e MyUser) ShowMe(){
}
//构造类方法的方式2
func(e *MyUser) ShowMe(){
}
在mymain.go主程序中使用该类和方法
package main
import "mylib"
func main() {
user1 := mylib.MyUser{
1,
"wen",
"A2",
15.93,
16.88,
true,
"2020-05-01 14:55:32",
}
user1.ShowMe()
var user2 mylib.MyUser
user2.Id = 3
user2.ShowMe()
}
以上是类的两种不同实例化方式。
尾声
一切的偶然都是宿命中的必然
送给正在费脑的你~~