Go复习
# 代码包
#命名基础包 package “base” #导入基础包 import( "base1"
ba "base2" 只导入当不使用情况下需要添加别名 . "base3" 不加前缀而直接使用某个依赖包的中的程序实体,用“.”来替代别名
_ "base4" 初始化某个代码包,用“_”来替代别名
) #初始化基础包 func init(){ fmt.Println("初始化基础包") }
#标准命令
build 用于编译制定代码包或者Go语言源码文件 clean 用于清除因执行其他go命令而遗留下来的临时目录和文件 doc 用于显示Go语言代码包以及程序实体的文档 env 用于打印Go语言相关的环境信息 fix 用于修正制定代码包的源码文件中包含的过时语法和代码调用 fmt 用于格式化制定代码包的Go源码文件 generate 用于识别制定代码包中的源码文件中的go:gonerate注释,并执行器携带的任意命令 get 用于下载、编译并安装指定的代码包及其依赖包 install 用于编译并安装指定的代码包及其依赖包 list 用于显示指定代码包的信息 run 用于编译并运行指定的命令源码文件 test 用于测试指定代码包,其中需要有测试单元 tool go语言特殊工具 vet 用于检测指定代码包中的Go语言源码,并报告发现可以代码问题 version 用于显示当前go语言版本信息以及计算环境
# 额外定制命令的执行过程 -a 用于强制重新编译所有涉及的GO语言代码包(包括Go语言标准库的代码包),即使它们已经是最新的了 -n 使命令仅打印器执行过程中用到的所有命令,而不是真正执行它们 -race 用于检测并报告指定Go语言程序中存在的数据竞争问题 -v 用于打印命令执行时生成和使用的临时工作目录的名字,且命令执行完成后不删除它 -work 用于打印命令执行时生成和使用的临时工作目录的名字,且命令执行完成后不删除它 -x 使命令打印其执行过程中的用到的所有命令,同时执行它们
# 语法
# 基本构成元素 标识符(identifier) 关键字(keyword) 字面量(literal) 分隔符(delimiter) 操作符(operator) # 标识符 ## 预定义表示服 所有基本数据类型的名称 接口类型error 常量true、false、iota ## 空标识符 用"_"表示 # 关键字
| 类别 | 关键字 |
| 程序声明 | import和package |
| 程序实体声明和定义 | chan、const、func、interface、map、struct、type和var |
| 程序流程控制 | go、select、break、case、continue、default、defer、else、fallthrought、for、goto、if、range、return、和switch |
# 字面量
## 用于表示基础数据类型值得各种字面量
## 用于构造各种自定义的复合数据类型的类型字面量
## 用于表示复合数据类型的值得复合字面量
# 操作符
一共21个分类五类:
算术操作符、比较操作符、逻辑操作符、地址操作符、接收操作符
# 表达式
把操作符和函数作用于操作数的计算方法
| 种类 | 用途 | 示例 |
| 选择表达式 | 选择一个值中的字段或方法 | context.Speaker//contact是变量名 |
| 索引表达式 | 选取数组、切片、字符串或字典值中的某个元素 | array[1]//array1表示一个数组值,其长度必须大于1 |
| 切片表达式 | 选取数组、数组指针、切片或字符串值中的某个范围的元素 | slice1[0:2]//slice1表示一个切片段,其容量必须大于或等于2 |
| 类型断言 | 判断一个接口值得实际类型是否为某个类型,或一个非接口值得类型是否实现了某个接口类型 | v1.(I1) //v1表示一个接口值,I1表示一个接口类型 |
| 调用表达式 | 调用一个函数或一个值得方法 | v1.M1()//v1表示一个值,M1表示与该值关联的一个方法 |
浙公网安备 33010602011771号