Golang简介
- Go语言是谷歌2009发布的第二款开源编程语言。
- Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。
- Google对Go寄予厚望。其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。
Go语言就是为了解决当下编程语言对并发支持不友好、编译速度慢、编程复杂这三个问题而诞生的。
Go标识符规则
开头必须是字母或者下划线、后面根任意多个字符、数字或者下划线,并且区分大小写,Unicode字符也可以作为标识符的构成,不过不推荐这么做。
Go关键字
关键字是拥有特定语法含义的标识符、在Go语言中是一门极简的语言,只有如下25个关键字:
引导程序整体结构的关键字
| 关键字 | 作用 |
|---|---|
| package | 定义包名 |
| import | 导入包名 |
| const | 常量声明 |
| var | 变量声明 |
| func | 函数定义 |
| defer | 延迟执行 |
| go | 并发语法 |
| return | 函数返回 |
声明复合数据结构的关键字
| 关键字 | 作用 |
|---|---|
| struct | 定义结构类型 |
| interface | 定义接口 |
| map | 声明或者创建map类型 |
| chan | 声明或者创建chan类型 |
控制程序结构的关键字
| 关键字 | 作用 |
|---|---|
| if、else | if else语句 |
| for range break continue | for循环语句 |
| switch select type case default fallthrough | switch和select语句 |
| goto | 跳转语句 |
Go内置数据类型标识符
Go内置函数
| 函数 | 作用 |
|---|---|
| len | 返回某个类型的长度或者数量 |
| cap | 返回某个类型的最大容量 |
| new | 用于值类型和用户定义类型的内存分配 |
| make | 用户内置引用类型的内存分配 |
| close | 用户管道通信、关闭channel |
| copy | 用于复制切片 |
| append | 用户连接追加切片 |
| print、println | 底层打印函数 |
| complex、real、image | 用户创建和操作复数 |
| panic、recover | 用户错误处理机制 |
Go常量值标识符
| 常量标识符 | 作用 |
|---|---|
| true、false | 表示bool类型的真和假 |
| iota | 用于连续的枚举类型的声明中 |
| nil | 指针、引用类型的变量默认值就是nil |
Go空白标识符
_用来声明一个匿名的变量、该变量在赋值表达式的左端,通常被用作占位
Go操作符
Go中操作符共有47个,并可以分为如下几类:算术运算符、位运算符、赋值运算符、比较运算符、括号、逻辑运算符、自增自减操作符、其他运算符
Go字面常量
Go中字面量共有如下几类:整型字面量、浮点型字面量、复数类型字面量、字符型字面量(UTF-8编码)、字符串型字面量
Go变量
Go语言中基本类型变量的声明有两种类型
显式的完整声明
1
var varName dataType [= value]
短类型的声明
1
varName:= value