做金馆长网站网站wordpress段子模板

当前位置: 首页 > news >正文

做金馆长网站网站,wordpress段子模板,tp做网站签到功能,北京网站建设学习Go语言入门心法(一) Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 一#xff1a;go语言接口认知 Go语言中接口认知升维:解决人生问题的自我引导法则: 复盘思维|结构化思维|金字塔思维|体系化思维|系统化思维 面向对象编程(oop)三大特性: 封装,继承,多态 Go语言中,可… Go语言入门心法(一) Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 一go语言接口认知 Go语言中接口认知升维:解决人生问题的自我引导法则: 复盘思维|结构化思维|金字塔思维|体系化思维|系统化思维 面向对象编程(oop)三大特性: 封装,继承,多态 Go语言中,可以认为接口是一种自定义的抽象数据类型,既然是数据类型,那么久可以使用接口声明变量等操作; 它不会暴露出它所代表的内部属性的结构,它只会展示出它自己的方法,因此不能将接口类型实例化; 根据go语言规范,单个函数的接口命名为函数名加上er作为后缀;例如:Writer,Reader,Formatter等。 接口命令规范如下:(1)当个函数名的接口名以er作为后缀,接口的实现则去掉“er”字符串(2)go语言的接口是方法的集合,使用接口是实现模块化的重要方式;接口是用来定义行为类型的,这些被定义的行为不由接口直接实现(3)与其他语言不同的是,Go语言的接口没有数据字段(接口成员变量),只有定义的抽象的方法,不需要实现方法,不需要方法体定义接口与订阅结构体类似,定义需要使用type关键字和interface关键字type InterfaceName interface {Method()} 1.1 接口实例一:  package main// Animal 定义接口 type Animal interface {Named() string // 接口的方法,返回值类型为stringSpeak() string }type Cat struct { } type Dog struct {sleepTime string }// Named Cat实现接口Animal的Named()抽象方法 func (cat *Cat) Named() string {return Cat:named()-cat }// Speak Cat实现接口Animal的Speak()抽象方法 func (cat *Cat) Speak() string {return Cat:speak()-cat }// Named Dog实现了Animal接口的Named()抽象方法 func (dog *Dog) Named() string {return Dog:named()-dog }// Speak Dog实现了Animal接口的Speak()抽象方法 func (dog *Dog) Speak() string {return Dog:speak()-dog }// Sleeper 定义Dog结构体的方法 func (dog *Dog) Sleeper(sleepTime string) {dog.sleepTime sleepTime }func main() {println(Go语言中接口认知升维:解决人生问题的自我引导法则: 复盘思维|结构化思维|金字塔思维|体系化思维|系统化思维面向对象编程(oop)三大特性: 封装,继承,多态Go语言中,可以认为接口是一种自定义的抽象数据类型,既然是数据类型,那么久可以使用接口声明变量等操作;它不会暴露出它所代表的内部属性的结构,它只会展示出它自己的方法,因此不能将接口类型实例化;根据go语言规范,单个函数的接口命名为函数名加上er作为后缀;例如:Writer,Reader,Formatter等。接口命令规范如下:(1)当个函数名的接口名以er作为后缀,接口的实现则去掉“er”字符串(2)go语言的接口是方法的集合,使用接口是实现模块化的重要方式;接口是用来定义行为类型的,这些被定义的行为不由接口直接实现(3)与其他语言不同的是,Go语言的接口没有数据字段(接口成员变量),只有定义的抽象的方法,不需要实现方法,不需要方法体定义接口与订阅结构体类似,定义需要使用type关键字和interface关键字type InterfaceName interface {Method()})println()println(定义接口)// 非指针实例化对象println(Cat类型就是Animal的一个实例)var cat Cat{}println(Dog类型就是Animal的一个实例)var dog Dog{}println(我的小猫咪: , cat.Named())println(我的小猫咪: , cat.Speak())println(我的小旺财: , dog.Named())println(我的小旺财: , dog.Speak())dog.Sleeper(10:50)println(我的小旺财休息时间: , dog.sleepTime)}运行效果: GOROOTD:\program_file_worker\go1.20 #gosetup GOPATHD:\program_file_worker\go1.20\bin;C:\Users\Administrator\go #gosetup D:\program_file_worker\go1.20\bin\go.exe build -o C:\Users\Administrator\AppData\Local\Temp\GoLand_go_build_OOPToInterfaceAnimalGrammar_go.exe D:\program_file\go_workspace\org.jd.data\interface\OOPToInterfaceAnimalGrammar.go #gosetup C:\Users\Administrator\AppData\Local\Temp\GoLand_go_build_OOPToInterfaceAnimalGrammar_go.exe         Go语言中接口认知升维:             解决人生问题的自我引导法则: 复盘思维|结构化思维|金字塔思维|体系化思 维|系统化思维         面向对象编程(oop)三大特性: 封装,继承,多态         Go语言中,可以认为接口是一种自定义的抽象数据类型,既然是数据类型,那么久可 以使用接口声明变量等操作;         它不会暴露出它所代表的内部属性的结构,它只会展示出它自己的方法,因此不能将接口类型实例化;         根据go语言规范,单个函数的接口命名为函数名加上er作为后缀;例如:Writer,Reader,Formatter等。         接口命令规范如下:          (1)当个函数名的接口名以er作为后缀,接口的实现则去掉“er”字符串          (2)go语言的接口是方法的集合,使用接口是实现模块化的重要方式;接口是用来定义行为类型的,这些被定义的行为不由接口直接实现          (3)与其他语言不同的是,Go语言的接口没有数据字段(接口成员变量),只有定义的抽象的方法,不需要实现方法,不需要方法体          定义接口与订阅结构体类似,定义需要使用type关键字和interface关键字          type InterfaceName interface {                 Method()          } 定义接口 Cat类型就是Animal的一个实例 Dog类型就是Animal的一个实例 我的小猫咪:  Cat:named()-cat 我的小猫咪:  Cat:speak()-cat 我的小旺财:  Dog:named()-dog 我的小旺财:  Dog:speak()-dog 我的小旺财休息时间:  10:50 Process finished with the exit code 0   1.2 接口实例二: package mainimport (errorsfmt )// IDatabase 定义一个数据库操作的接口 type IDatabase interface {Connect() errorDisconnect() error }// Mysql 实例类型MySQL数据操作 type Mysql struct {DBName stringisConnect bool }// Redis Redis实例类型 type Redis struct {DBName string }// Connect 实现IDatabase接口的Connect方法 func (mysql *Mysql) Connect() error {fmt.Println(Mysql Connect DB mysql.DBName)// do Connectmysql.isConnect trueif mysql.isConnect {fmt.Println(Mysql Connect Success !)return nil} else {return errors.New(Connect failure )} }// Disconnect 实现IDatabase接口的Disconnect方法 func (mysql *Mysql) Disconnect() error {// do Disconnectfmt.Println(Mysql Disconnect Success !)return nil }// Connect 实现IDatabase接口的Connect方法 func (redis *Redis) Connect() error {fmt.Println(Redis Connect DB redis.DBName)fmt.Println(Redis Connect Success !)return nil }// Disconnect 实现IDatabase接口的Disconnect方法 func (redis *Redis) Disconnect() error {// do Disconnectfmt.Println(Redis Disconnect Success !)return nil } func main() {var mysql Mysql{DBName: student}println(开始连接)mysql.Connect()// do somethingfmt.Println(断开连接)mysql.Disconnect()var redis Redis{DBName: student}println(开始连接)redis.Connect()// do somethingfmt.Println(断开连接)redis.Disconnect() }运行效果 GOROOTD:\program_file_worker\go1.20 #gosetup GOPATHD:\program_file_worker\go1.20\bin;C:\Users\Administrator\go #gosetup D:\program_file_worker\go1.20\bin\go.exe build -o C:\Users\Administrator\AppData\Local\Temp\GoLand_go_build_OOPToInterfaceIDatabaseGrammar_go.exe D:\program_file\go_workspace\org.jd.data\interface\OOPToInterfaceIDatabaseGrammar.go #gosetup C:\Users\Administrator\AppData\Local\Temp\GoLand_go_build_OOPToInterfaceIDatabaseGrammar_go.exe 开始连接 Mysql Connect DB student Mysql Connect Success ! 断开连接 Mysql Disconnect Success ! 开始连接 Redis Connect DB student Redis Connect Success ! 断开连接 Redis Disconnect Success ! Process finished with the exit code 0     忙着去耍帅,后期补充完整。。。。。