Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。Go是谷歌2009发布的第二款编程语言.2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用 Go Logo的一种BASIC语言. 北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。
Go语言并没有沿袭传统面向对象编程中的诸多概念
封装:通过方法实现
继承:通过匿名字段实现
多态:通过接口实现
一、匿名组合
1. 匿名字段
匿名字段(嵌入字段):
go支持只提供类型,而不写字段名的方式
匿名字段也是结构体时:
这个结构体所拥有的全部字段都被隐式地引入了当前定义的这个结构体
//人
type Person struct {
name string
sex byte
age int
}
//学生
type Student struct {
Pe
go语言中的interface是一组未实现的方法的集合,如果某个对象实现了接口中的所有方法,那么此对象就实现了此接口。与其它面向对象语言不同的是,go中无需显示声明调用了哪个接口。
代码如下:
package main
import (
“fmt”
)
type I interface {
Get() int
Put(int)
}
type S struct{ i int }
func (p *S) Get() int { return p.i }
func (p *S