Go语言中的变量和常量
1 变量
变量相当于是对一块数据存储空间的命名,程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量名来使用这块存储空间。
Go 语言是强类型静态语言,所以变量的声明与赋值方式与 PHP/Python 等动态语言相比有很大的区别。
-
动态语言(弱类型语言)是运行时才确定数据类型的语言,变量在使用之前无需申明类型,通常变量的值是被赋值的那个值的类型。比如Php、Asp、JavaScript、Python、Perl等等。
-
静态语言(强类型语言)是编译时变量的数据类型就可以确定的语言,大多数静态语言要求在使用变量之前必须生命数据类型。比如Java、C、C++、C#等。
1.1 变量声明和规则
Go 语言引入了关键字 var,并且将数据类型信息放在变量名之后,此外,变量声明语句不需要使用分号作为结束符,例如声明一个类型为 int 的变量 v1,示例如下:
var v1 int
// 也可以将若干需要声明的变量放置在一起
var (
v1 int
v2 string
)
Go 语言支持多种数据类型,这里先简单展示一下
var v1 int // 整型
var v2 string // 字符串
var v3 bool // 布尔类型
var v4 [10]int // 数组,数组元素类型为整型
var v5 struct ( // 结构体,成员变量 f 的类型为64位浮点型号
f float64
)
var v6 *int // 指针,指向整型
var v7 map[string]int // map(字典),key为字符串类型,value为整型
var v8 func(a int) int // 函数,参数类型为整型,返回类型为整型
变量在声明之后,系统会自动将变量值初始化为对应类型的零值,这里输出一下上面定义的变量。
如果变量名包含多个单词,Go 语言变量命名规则遵循驼峰命名法