1、Go语言关键字(25个)
| break | default | func | interface | select |
|---|---|---|---|---|
| case | defer | go | map | struct |
| chan | else | goto | package | switch |
| const | fallthrough | if | range | type |
| continue | for | import | return | var |
2、Go语言标识符
标识符组成:数字,字母,下划线
注意事项:不能以数字开头,严格区分大小写,不能包含空格,不能使用Go语言中的保留关键字。
2.1 常量相关的预定义标识符(4个)
| true | false | iota | nil |
|---|---|---|---|
2.2 类型相关的预定义标识符(20个)
| int | int8 | int16 | int32 | int64 |
|---|---|---|---|---|
| uint | uint8 | uint16 | uint32 | uint64 |
| uintptr | float32 | float64 | complex128 | complex64 |
| bool | byte | rune | string | error |
2.3 函数相关的预定义标识符(13个)
| make | len | cap | new | append |
|---|---|---|---|---|
| copy | close | delete | complex | real |
| imag | panic | recover |
3、变量
3.1 变量声明
一般使用var关键字进行声明,形式如下:
var name type
其中,var是声明变量的关键字,name是变量名,type是变量的类型。变量声明的3种格式如下:
标准变量声明格式
多变量声明格式
使用关键字var和括号将一组变量定义放在一起,示例如下:
var (name stringage intsalary float64)
短变量声明格式(推荐)
使用:=声明变量,格式如下:变量名 := 表达式,示例如下:
age := 18height := 1.75
短变量声明注意事项:
(1)只能用来定义变量,且必须同时进行初始化
(2)不能提供数据类型
(3)只能用在函数内部(不能用来声明全局变量)
3.2 变量赋值
单个变量赋值
形式:var name (type) = value,示例如下:
var name string = "victor"var age = 18
多个变量赋值
方式一:
var (name = "victor"age = 18height = 1.75)
方式二:
var name, age, height = "victor", 18, 1.75
方式三:
name, age, height := "victor", 18, 1.75
3.3 变量的作用域
(1)局部变量
在函数体内声明的变量为局部变量。作用范围只在函数体内。
(2)全局变量
在函数体外声明的变量为全局变量。全局变量可以在整个包甚至外部包(被导出后)使用,也可以在任何函数中使用。
4、数据类型
4.1 基本数据类型
整数类型
| int | uint | int8 | uint8 |
|---|---|---|---|
| int16 | uint16 | int32 | uint32 |
| int64 | uint64 | byte |
浮点类型
| float32 | float64 |
|---|---|
字符型
| byte |
|---|
布尔型
| bool |
|---|
字符串
| string |
|---|
4.2 复杂数据类型
5、常量&字面常量
5.1 常量声明
使用const关键字进行常量声明,格式如下:const 常量名 [常量类型] = 常量值,如:
const pi = 3.1415926 // 编译器推导其类型const e float64 = 2.718281828 // 显示指定类型
常量的值必须是能够在编译时就能够确定的,可以在其赋值表达式中涉及计算过程,但是所有用于计算的值必须在编译期间就能获得。
5.2 常量生成器-iota
常量声明可以使用iota常量生成器初始化,它用于生成一组以相似规则初始化的常量,但是不用每行都写一遍初始化表达式。
iota只能在常量表达式中使用。
注意:在一个const声明语句中,在第一个声明的常量所在的行,iota将会被置为0,然后在每一个有常量声明的行加一。示例如下:
// 每次 const 出现时, 都会让 iota 初始化为 0 【自增长】const (a = iota // a = 0b // b = 1c // c = 2)// const iota 使用 _ 跳过某些值const (n1 = iota // 0n2 // 1_n4 // 3)// iota 声明中间插队const (n1 = iota // 0n2 = 100 // 100n3 = iota // 2n4 // 3)const n5 = iota // 0// 多个 iota 定义在一行const (a, b = iota + 1, iota + 2 // 1, 2c, d // 2, 3e, f // 3, 4)
5.3 字面常量
字面常量(literal)是指程序中硬编码的常量,如:
123 // 整数类型常量3.1415926 // 浮点数类型常量3.2+12i // 复数类型常量true // 布尔类型常量"foo" // 字符串类型常量
