golang中变量和常量声明
1 变量
变量是计算机语言中能储存计算结果或能表示值的抽象表示。不同的变量保存的数据类型可能不一样。
1.1 变量声明
声明变量的语法
var identifier type
var (variable): 变量的缩写,是声明变量的关键字
identifier: 标识符,变量名称
type: 变量类型
注意:在GO中声明变量的方式不同于java中声明方式,GO中变量名称在前,变量类型在后,并且Go中声明的变量必须使用,需注意。
举例:
package main
func main() {
var name string
var age int
var isLeader bool
}
1.2 批量声明变量
批量声明时,可以使用var关键字起始,后面跟一对(),变量定义写在()里
举例:
package main
func main() {
// 批量声明
var (
name string
age int
isLeader bool
)
}
1.3 变量初始化
Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,例如: 整型和浮点型变量的默认值为0, 字符串变量的默认值为空字符串"",布尔型变量默认为false,切片、函数、指针变量的默认为nil(空,例如java中null)。
变量初始化语法
var 变量名 类型 = 表达式
举例:
package main
func main() {
var name string = "wanik"
var age int = 20
var isLeader bool = false
// 批量声明同理
var (
name1 string = "wanik"
age1 int = 20
isLeader1 bool = false
)
}
GO语言特性之类型推导
我们在声明一个或多个变量时,无需设置其类型,golang会根据我们赋的值推导数据类型,有点像javascript中声明变量的方式
举例:
package main
func main() {
var name = "wanik"
var age = 20
var isLeader = false
}
快速初始化多个变量
使用一个var关键字,然后在var关键字后面跟多个变量用 ,(逗号) 隔开,同时在 = (赋值符号)后面跟上多个初始值,同样用 , (逗号) 隔开
举例:
package main
func main() {
var name, age, isLeader = "wanik", 20, false
}
1.4 短变量声明
注意:短变量声明函数内部才能使用,在函数外不能使用,声明时使用 := 运算符进行声明和初始化,这也是常用的声明方式,省略了var关键字和类型。
举例:
package main
func main() {
name := "wanik"
age := 20
isLealer := true
}
1.5 匿名变量
如果一个函数返回多个变量,有一些变量使用不到,此时可以用_表示一个匿名变量,匿名变量不可用
举例:
package main
func GetUserInfo() (string, int) {
return "wanik", 20
}
func main() {
name, _ := GetUserInfo()
}
2 常量
2.1 常量声明
常量声明方式与变量声明方式类似,也有不同点,声明方式如下:
const constantName type = value
const: constant (常量) 的缩写,声明常量的关键字
constantName: 常量名称
type: 常量类型
value: 常量值
2.2 声明常量应注意的问题(可能不全,后面遇到会继续补充...)
- 声明的常量可以不使用但是必须赋值
- 常量不能使用
:=来定义常量 - 常量声明必须用
const关键字修饰,不可省略(批量声明常量是共用最前面的const关键字) - 常量值不可修改