标识符于关键字:
标识符:
标识符就是具有特殊意义的词,比如变量名、常量名、函数名等等,Go语言中的标识符是由字母数字和 下划线组成,并且只能以字母和下划线开头
关键字:
关键字是指编程过程中预先定义好的具有特殊意义的标识符。关键字和保留字都不建议用作变量名
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
变量的定义:
变量指定了某个存储单元,该单元会存储特定类型的值。在Go中,有很多种方法用来生命变量
声明单个变量:
var name type --> 这个就是声明单个变量的语法格式
var age int --> 这里面声明了一个int类型,名字为age。我们还没有给该变量赋值,Go会自动的将其初始化,赋值该变量的零值。当你输出的时候就可以看到这个age变成了零
变量可以赋值为本类型的任何一种值,
声明变量并初始化
声明变量的同时可以给定初始值。var name type = value 用于声明变量并初始化
类型判断
如果变量有初始值,那么Go能够自动推断具有初始值的变量的类型,因此,如果变量要是有初始值的话,那么就可以在变量声明中省略type
如果变量声明的语法是var name = value 。那么Go就能够自动根据初始值自动推断变量的类型
声明多个变量
Go能够通过一条语句来声明多个变量
var name1, name2 type = value1, value2
有时候我们如果想在一个语句中声明不同类型的变量
var ( name1 = value, name2 = value2 )
简短声明
Go也支持一种声明变量的简介形式,称为简短声明,使用了:=操作符
name := value
name, age := '1213William', 18
简短声明要求:=操作符左边所有变量都有初始值,要是没有设定初始值就会抛出错误。
简短声明的语法要求:=操作符的左边至少有一个变量是尚未声明的。
由于Go是强类型的语,所以不允许某一类型的变量赋值为其他类型的值,也就是类型已经确定就不能改变。
匿名变量
在使用多重赋值的时候,如果想要忽略某一个指,可以使用匿名变量。匿名变量用一个下划线表示
匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不会存在重复声明的现象。
ps:
1、函数外的每个语句都必须以关键字开头(var、const、func等)
2、:=不能使用在函数外面
3、_多用在占位的时候,表示忽略值
常量
常量是恒定不变的,多用于定义程序运行期间不会改变的那些值,常量的声明和变量的声明非常相似,只是把var变成了const,常量字定义的时候是必须要赋值的。
在常量的声明中,要是同时声明了多个常量的话,如果省略了值表示和上面一行的值相同
const ( n1 = 100 n2 n3 )
这种现象中输入的n1、n2、n3的值都是100
iota
iota是Go语言中的常量计数单位,只能在常量的表达式中使用
iota的const关键字出现的时候将会被重置成0,const中每新增一行常量声明就会使iota计数一次(iota可以理解成const语句快中的行的索引)。使用iota能够简化定义的过程,在定义枚举的时候是非常有用的。