变量
变量的来历
程序运行过程中的数据都是保存在内存中,我们想要在代码中操作某个数据时就需要去内存上找到这个变量。
我们就利用变量将这个数据的内存地址保存起来,以后直接通过这个变量就能找到内存上对应的数据了。
变量的类型
变量(Variable)的功能是存储数据。不同的变量保存的数据类型可能会不一样。
变量的声明
Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。 并且Go语言的变量声明后必须使用。
Go语言的变量声明格式为
var 变量名 变量类型
标准声明
var name string
var age int
var isOK bool
批量声明
var (
a string
b int
c bool
d float32
)
变量的初始化
Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,
例如: 整型和浮点型变量的默认值为0。 字符串变量的默认值为空字符串。 布尔型变量默认为false。 切片、函数、指针变量的默认为nil
声明变量的时候为其指定初始值
var 变量名 类型 = 表达式
在声明变量的时候为其指定初始值
var name string = "llj"
var age int = 20
类型推到
根据等号右边的值来推导变量的类型完成初始化
var name1 ="liang"
var age1 = 22
短变量声明
在函数内部,可以使用更简略的 := 方式声明并初始化变量
全局变量
var m = 100
匿名变量
在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量(anonymous variable)。 匿名变量用一个下划线_表示,匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。
示例
package main
import "fmt"
func main(){
n:=20
m:=200
// 函数内部变量声明初始化后必须使用
fmt.Println(n,m) //20 200
//调用函数,并接收函数的返回值
x,y:=foo()
x1,_:=foo()
_,y2:=foo()
fmt.Println("xy",x,y) //xy 10 llj
fmt.Println("x",x1) //x 10
fmt.Println("y",y2) //y llj
}
func foo()(int,string){
return 10,"llj"
}
注意事项
函数外的每个语句都必须以关键字开始(var、const、func等)。
:=不能使用在函数外。
_多用于占位,表示忽略值。