只要有结构体 就定义一个构造方法 为了代码的可读性;分层开发框架;
接口可以组合;
1.框架分层:
类似os:开发中先写抽象层,再写实现层
抽象层:类比os 先写抽象层
实现层:类比硬件架构
业务层:类比各种app
//如果你想把所有代码都写在main包中, 也未尝不可,不嫌管理起来麻烦就行。
package main import "fmt" //抽象层 type car interface{ run() } type driveer interface{ drive(this car) } //实现层 type bmw struct{ } func(this *bmw)run(){ fmt.Println("bmw-running") } type benz struct{ } func(this *benz)run(){ fmt.Println("benz-running") } type zs struct{ } func(this *zs)drive(carer car){ fmt.Println("zs-begin-to-drive") carer.run() } type ls struct{ } func(this *ls)drive(carer car){ fmt.Println("ls-begin-to -drive") carer.run() } //业务逻辑层 func main(){ var carer car var driver driveer carer = new(bmw) driver = new(zs) driver.drive(carer) carer = new(benz) driver = new(ls) driver.drive(carer) }