变量和常量是编程中必不可少的部分,也是很好理解的部分。
标识符和关键字
标识符
是编程语言中程序员定义的具有特殊意义的词。比如变量名、常量名、函数名等。
关键字
编程语言里预先定义好的具有特殊含义的标识符。关键字和保留字都不用做变量名。
Go语言有25个关键字
break default func interface selectcase defer go map structchan else goto package switchconst fallthrough if range typecontinue for import return var
此外,Go语言还有37个保留字
变量
变量的功能是存储数据的,不同的变量保存不同的数据类型可能会不一样。常见变量的数据类型有:整型、浮点型、布尔型。
go语言中的每一个变量都有自己的类型,并且变量必须经过声明才能开始使用。
变量声明
Go语言中的变量需要声明之后才能使用,同一作用域内不支持重复声明,并且Go语言的变量声明后必须使用。
标准声明
var 变量名 变量类型
变量声明是以var 开头,变量类型放在变量的后面,行尾无需分号。
var name stringvar age intvar isOk bool
批量声明
var (a string,b int,c bool,d float32)
变量的初始化
package mainimport "fmt"func main() {var name stringvar age intvar isOk bool// 空字符串 0 falsefmt.Println(name, age, isOk)// 声明变量的同时指定初始值var name1 string = "无解"var age1 int = 21fmt.Println(name1, age1)var name2, age2 = "virus", 19fmt.Println(name2, age2)}
go语言支持类型推导,编译器可以推断出变量类型,类型就可以进行省略
短变量声明
在函数内部,可以使用简单的:= 进行声明变量和初始化变量
func main() {m := 10}
只能用在函数中
匿名变量
在使用多重赋值时,如果想要忽略某个值,可以使用 匿名变量 ,匿名变量用一个下划线_ 表示
func foo() (int, string) {return 10, "wujie"}func main() {x,_ := foo()_,y := foo()fmt.Println("x=", x)fmt.Println("y=", y)}
匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。
注意事项
- 函数外的每个语句都必须以关键字开始(var、const、func等)
:=不能使用在函数外_多用于占位,表示忽略值
