摘要:
匿名组合 golang也提供了继承机制,但采用组合的文法,因此称为匿名组合。与其他语言不同, golang很清晰地展示出类的内存布局是怎样的。 • 非指针方式组合 ▶ 基本语法 // 基类 type Base struct { // 成员变量 } func (b *Base) 函数名(参数列表) ( 阅读全文
摘要:
值和引用 • 值语义和引用语义 值语义和引用语义的差别在于赋值: b = a b.Modify() 如果b的修改不会影响a的值,那么属于值类型,否则属于引用类型。 • 值类型和引用类型 √ 引用类型一个特点:引用不绑定特定对象(c++中引用是要绑定特定对象),例如有两个同类型引用a和b,它们可以引用 阅读全文
摘要:
错误处理 • 错误处理的标准模式 √ golang错误处理的标准模式:error接口。 √ golang函数如果要返回错误,规范上是将error作为多返回值中的最后一个,但这并非是强制要求。 ▶ error接口 type error interface { Error() string } ▶ 内置 阅读全文
摘要:
普通函数定义 √ golang函数基本组成:关键字func、函数名、参数列表、返回值、函数体和返回语句。 • 语法如下 func 函数名(参数列表) (返回值列表) { // 函数体 } • 示例如下 package main import "fmt" import "errors" func Ad 阅读全文
摘要:
流程控制 • 流程控制语句作用 ▪ 选择:根据条件跳转到不同的执行序列。 ▪ 循环:根据条件反复执行某个序列。 ▪ 跳转:据条件返回到某执行序列。 • 流程控制语句类型 ▪ 条件语句:关键字为if、else和else if。 ▪ 选择语句:关键字为switch、case和select。 ▪ 循环语句 阅读全文
摘要:
基础类型 √ golang内建基础类型有布尔类型、整数类型、浮点类型、复数类型、字符串类型、字符类型和错误类型。 复合类型 √ golang支持的复合类型有指针、数组、数组切片、字典、通道、结构体和接口。 阅读全文
摘要:
数组 √ golang数组包含的每个数据称为数组元素(element),数组包含的元素个数被称为数组长度(length)。 √ golang数组的长度在定义后不可更改,并且在声明时可以是一个常量或常量表达式(在编译期即可计算结果的表达式)。golang数组长度是一个内置常量,可以用len()函数来获 阅读全文
摘要:
变量 • 变量声明 √ golang变量声明的关键字为var。 √ golang变量声明时类型信息放置在变量名之后。 ▶ 单个变量声明 ▪ 语法如下 var name type ▪ 示例如下 var v1 int // 整形 var v2 *int // 指针 var v3 string // 字符 阅读全文
摘要:
package的作用 √ package是golang最基本的分发单位和工程管理中依赖关系的体现。 √ 每个golang源代码文件开头都拥有一个package声明,表示该golang代码所属的package。 √ 要生成golang可执行程序,必须建立一个名为main的package,并且在该pac 阅读全文
摘要:
LiteIDE(windows) • golang安装 ▶ 下载对应操作系统的版本并安装,下载地址:http://www.golangtc.com/download,譬如这里下载的是go1.6.windows-amd64.msi。 ▶ 环境变量配置,这里只需要配置GOROOT、GOBIN和GOPAT 阅读全文