变量和常量是编程中必不可少的部分,也是很好理解的部分。

标识符和关键字

标识符

是编程语言中程序员定义的具有特殊意义的词。比如变量名、常量名、函数名等。

关键字

编程语言里预先定义好的具有特殊含义的标识符。关键字和保留字都不用做变量名。

Go语言有25个关键字

  1. break default func interface select
  2. case defer go map struct
  3. chan else goto package switch
  4. const fallthrough if range type
  5. continue for import return var

此外,Go语言还有37个保留字

变量

变量的功能是存储数据的,不同的变量保存不同的数据类型可能会不一样。常见变量的数据类型有:整型、浮点型、布尔型。

go语言中的每一个变量都有自己的类型,并且变量必须经过声明才能开始使用。

变量声明

Go语言中的变量需要声明之后才能使用,同一作用域内不支持重复声明,并且Go语言的变量声明后必须使用。

标准声明

  1. var 变量名 变量类型

变量声明是以var 开头,变量类型放在变量的后面,行尾无需分号。

  1. var name string
  2. var age int
  3. var isOk bool

批量声明

  1. var (
  2. a string,
  3. b int,
  4. c bool,
  5. d float32
  6. )

变量的初始化

  1. package main
  2. import "fmt"
  3. func main() {
  4. var name string
  5. var age int
  6. var isOk bool
  7. // 空字符串 0 false
  8. fmt.Println(name, age, isOk)
  9. // 声明变量的同时指定初始值
  10. var name1 string = "无解"
  11. var age1 int = 21
  12. fmt.Println(name1, age1)
  13. var name2, age2 = "virus", 19
  14. fmt.Println(name2, age2)
  15. }

go语言支持类型推导,编译器可以推断出变量类型,类型就可以进行省略

短变量声明

在函数内部,可以使用简单的:= 进行声明变量和初始化变量

  1. func main() {
  2. m := 10
  3. }

只能用在函数中

匿名变量

在使用多重赋值时,如果想要忽略某个值,可以使用 匿名变量 ,匿名变量用一个下划线_ 表示

  1. func foo() (int, string) {
  2. return 10, "wujie"
  3. }
  4. func main() {
  5. x,_ := foo()
  6. _y := foo()
  7. fmt.Println("x=", x)
  8. fmt.Println("y=", y)
  9. }

匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。

注意事项

  1. 函数外的每个语句都必须以关键字开始(var、const、func等)
  2. := 不能使用在函数外
  3. _ 多用于占位,表示忽略值