标识符与关键字
标识符
在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。 Go语言中标识符由字母数字和_
(下划线)组成,并且只能以字母和_
开头。 举几个例子:abc
, _
, _123
, a123
。
关键字
关键字是指编程语言中预先定义好的具有特殊含义的标识符。 关键字和保留字都不建议用作变量名。
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
此外,Go语言中还有37个保留字。
Constants: true false iota nil Types: int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr float32 float64 complex128 complex64 bool byte rune string error Functions: make len cap new append copy close delete complex real imag panic recover
变量:
程序在运行过程中数据都是保存在内存中的,需要操作某条数据就需要去内存找到对应的变量。如果直接通过内存地址去找数据的话,代码的可读性会很差,有可能会出错,所以需要将数据的内存地址保存到变量中。
变量类型:
变量(Variable)的功能是存储数据。不同的变量保存的数据类型可能会不一样。常见变量的数据类型有:整型、浮点型、布尔型等。
Go语言中的每一个变量都有自己的类型,并且变量必须经过声明才能开始使用。
变量的声明语法:
标准声明:
var 变量名 变量类型 var name string vae age int vae other bool 批量声明: var ( var name string var age int var other bool )
变量的初始化: var name string = "qqq" 一次初始化多个变量: var name ,age = "qqq" , 18
举例:
坑:go的string类型是不能 使用单引号。
短变量的声明:在函数的内部使用
使用 := 的方式声明并且初始化变量
package main import "fmt" // 全局变量 var a = 100 func main() { n:=10 a:=30//局部变量 fmt.Println(n,a) }
编译后的结果:10 30
匿名变量
在使用多重赋值的时候,如果想要忽略某个值,可以使用匿名变量,匿名变量用_表示!
package main import "fmt" func foo()(int,string) { return 10,"qq" } func main() { x,_ :=foo() _,y :=foo() fmt.Println("x=",x) fmt.Println("y=",y) }
匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。‘
注意:
1. 函数外的每个语句都必须你关键字开始(var)
2. :=不能使用在函数外
3. _多用户占位,表示忽略值。
常量:
相比变量,常量的值是不可变的,多定义与程序运行期间不会改变的一些值。
语法:
const 常量名 常量值 const pi 3.1415926
多个常量一起使用
const( pi = 3.1415926 a = 404 ) 同时const声明多个常量的时候,如果常量没有被=赋值,那么就和上面一行的值相同。 const( n1=100 n2 //100 n3 //100 )
iota
iota是go语言的常量计数器,只能在常量的表达式中使用。
iota 关键字出现的时候被置为0,const新增一列,计数将增加一次。使用iota能简化定义,在定义枚举的时候有用。
const ( n1 = iota //0 n2 //1 n3 //2 n4 //3 )
更新ing