1、标识符和关键字
在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母、数字和_
(下划线)组成,并且只能以字母和_
(下划线)开头。 举几个例子:abc
、_
、_123
、 a123
2、关键字和预定义字符
关键字是编程中一些已经定义过的字,具有某些意义。预定义字符宝包括基本类型的名称和一些基本的内置函数。
关键字
go保留了25个关键字
预定义字符
go语言中有36个预定义字符
3、变量
变量的功能是存储数据,程序中可以同过变量来访问数据。go语言中变量由字母、数字、下划线组成,其中变量名的首个字符不能为数字。go语言变量必须声明后才能使用。
3.1 变量声明
<button class="VJbwyy" type="button" aria-label="复制代码"></button>
// 单个变量声明形式
var 变量名 变量类型
// 举例
var str string
var count int
需要声明多个变量时,一个一个变量声明比较麻烦,go语言还支持批量声明变量
<button class="VJbwyy" type="button" aria-label="复制代码"></button>
var (
a string
b int
c float
)
3.2 变量初始化
go语言变量在声明时,会自动对变量对应的内存区域做初始化操作。int型和float默认为0,string默认为空字符串,bool默认为false,切片、函数、指针变量的默认为 nil。
当然,我们也可以在声明变量时手动对变量做初始化操作:
<button class="VJbwyy" type="button" aria-label="复制代码"></button>
// 手动初始化格式
var 变量名 变量类型 = 表达式
// 例子
var str string = "hello"
// 同时声明并初始化多个变量
var str, num = "hello", 10
类型推导:
go语言在初始化变量时可以不指定变量类型,由编译器根据表达式推导出变量的类型
<button class="VJbwyy" type="button" aria-label="复制代码"></button>
var str = "hello" //str为string型变量
短变量声明并初始化
在函数内部,可以用:=
方式声明并初始化变量。:=
方式在函数外部是无法使用的
<button class="VJbwyy" type="button" aria-label="复制代码"></button>
func main() {
str := "hello"
}
3.3 匿名变量
go语言支持多返回值,在使用for循环遍历时,也会有多值情况。如果我们不希望获得所有的值,则可以用匿名变量来接收不是期望的返回值,因为匿名不占用命名空间,也不会分配内存。
匿名变量用_
(下划线来表示)
<button class="VJbwyy" type="button" aria-label="复制代码"></button>
func foo() (int, string) {
return 10, "Q1mi"
}
func main() {
x, _ := foo()
_, y := foo()
fmt.Println("x=", x)
fmt.Println("y=", y)
}
4、常量
常量是一个简单值的标识符,在程序运行时,不会被修改的量。
常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
4.1 常量声明
常量声明时与变量声明相似,只需要把var
改成const
。常量声明时必须对它初始化
标准声明格式:
<button class="VJbwyy" type="button" aria-label="复制代码"></button>
const str string = "hello"
类型推导:
<button class="VJbwyy" type="button" aria-label="复制代码"></button>
// 类型由编译器根据初始化值决定
const str = "hello"