go语言之进阶篇接口的继承】的更多相关文章

1.接口的继承 示例: package main import "fmt" type Humaner interface { //子集 sayhi() } type Personer interface { //超集 Humaner //匿名字段,继承了sayhi() sing(lrc string) } type Student struct { name string id int } //Student实现了sayhi() func (tmp *Student) sayhi()…
1.接口的定义和实现以及接口的继承 示例: package main import "fmt" //定义接口类型 type Humaner interface { //方法,只有声明,没有实现,由别的类型(自定义类型)实现 sayhi() } type Student struct { name string id int } //Student实现了此方法 func (tmp *Student) sayhi() { fmt.Printf("Student[%s, %d] s…
1.go语音之进阶篇 示例: package main import "fmt" type Humaner interface { //子集 sayhi() } type Personer interface { //超集 Humaner //匿名字段,继承了sayhi() sing(lrc string) } type Student struct { name string id int } //Student实现了sayhi() func (tmp *Student) sayhi…
1.方法的继承 示例: package main import "fmt" type Person struct { name string //名字 sex byte //性别, 字符类型 age int //年龄 } //Person类型,实现了一个方法 func (tmp *Person) PrintInfo() { fmt.Printf("name=%s, sex=%c, age=%d\n", tmp.name, tmp.sex, tmp.age) } //…
一.文件常用操作接口介绍 1.创建文件 法1: 推荐用法 func Create(name string) (file *File, err Error) 根据提供的文件名创建新的文件,返回一个文件对象,默认权限是0666的文件,返回的文件对象是可读写的. 法2: func NewFile(fd uintptr, name string) *File 根据文件描述符创建相应的文件,返回一个文件对象 2.打开文件 法1: func Open(name string) (file *File, er…
1.error接口应用 示例: package main import "fmt" import "errors" func MyDiv(a, b int) (result int, err error) { err = nil if b == 0 { err = errors.New("分母不能为0") } else { result = a / b } return } func main() { result, err := MyDiv(1…
1.error接口的使用 示例: package main import "fmt" import "errors" func main() { //var err1 error = fmt.Errorf("%s", "this is normol err") err1 := fmt.Errorf("%s", "this is normal err1") fmt.Println(&quo…
1.空接口 示例: package main import "fmt" func xxx(arg ...interface{}) { } func main() { //空接口万能类型,保存任意类型的值 var i interface{} = 1 fmt.Println("i = ", i) i = "abc" fmt.Println("i = ", i) } 执行结果: i = 1 i = abc…
1.面向对象编程 对于面向对象编程的支持Go 语言设计得非常简洁而优雅.因为, Go语言并没有沿袭传统面向对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但它并不是继承).虚函数.构造函数和析构函数.隐藏的this指针等. 尽管Go语言中没有封装.继承.多态这些概念,但同样通过别的方式实现这些特性: 封装:通过方法实现 继承:通过匿名字段实现 多态:通过接口实现 2.匿名组合和匿名字段初始化 示例: package main import "fmt"…
一.select作用 Go里面提供了一个关键字select,通过select可以监听channel上的数据流动. select的用法与switch语言非常类似,由select开始一个新的选择块,每个选择条件由case语句来描述. 与switch语句可以选择任何可使用相等比较的条件相比, select有比较多的限制,其中最大的一条限制就是每个case语句里必须是一个IO操作,大致的结构如下: select { case <-chan1: // 如果chan1成功读到数据,则进行该case处理语句…