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
关键字) - 常量值不可修改