摘要:
什么是interface 在面向对象编程中,可以这么说:“接口定义了对象的行为”, 那么具体的实现行为就取决于对象了。 在Go中,接口是一组方法签名(声明的是一组方法的集合)。当一个类型为接口中的所有方法提供定义时,它被称为实现该接口。它与oop非常相似。接口指定类型应具有的方法,类型决定如何实现这 阅读全文
摘要:
接口概念 接口类型可以看作是类型系统中一种特殊的类型,而实例就是实现了该接口的具体结构体类型。 接口类型与实现了该接口的结构体对象之间的关系好比变量类型与变量之间的关系。 接口即一组方法定义的集合,定义了对象的一组行为,由具体的类型实例实现具体的方法。换句话说,一个接口就是定义(规范或约束),而 阅读全文
摘要:
1. 类型系统[类的声明] 类型系统: 一组基本类型构成的“基本类型集合”; “基本类型集合”上定义的一系列组合、运算、转换方法。 类型系统包括基础类型(byte、int、bool、float等);复合类型(数组、结构体、指针等);可以指向任何对象的类型(Any类型,类似Java的Object类型) 阅读全文
摘要:
面向对象编程 把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的特化(specialization)[方法的重写,子类不同于父类的特性]/泛化(genera 阅读全文
摘要:
error接口 //定义error接口 type error interface{ Error() string } //调用error接口 func Foo(param int) (n int,err error){ //... } n,err:=Foo(0) if err!=nil{ //错误处 阅读全文
摘要:
语法: defer function_name() 1)defer在声明时不会执行,而是推迟执行,在return执行前,倒序执行defer[先进后出],一般用于释放资源,清理数据,记录日志,异常处理等。 2)defer有一个特性:即使函数抛出异常,defer仍会被执行,这样不会出现程序错误导致资源不 阅读全文
摘要:
闭包=函数+引用环境 所谓闭包是指内层函数引用了外层函数中的变量或称为引用了自由变量的函数,其返回值也是一个函数 闭包只是在形式和表现上像函数,但实际上不是函数。函数是一些可执行的代码,这些代码在函数被定义后就确定了,不会在执行时发生变化,所以一个函数只有一个实例。闭包在运行时可以有多个实例,不同的 阅读全文