【Golang系列】-变量

2022-03-02

变量是计算机语言中能存储计算结果或者能表示值的抽象概念。
不同的变量保存的数据类型可能是不一样

声明变量

  • 声明后才可以使用
  • 同一个作用域内不支持重复声明
  • 声明后必须使用

声明变量的语法

var identifier type

var: 声明变量关键字
indentifier:变量名称
type:类型

例如:

package main

import "fmt"

func main(){
    var name string
    var age int
    var ok bool
}

批量声明:

使用var关键字,把一些变量写在一个括号()里

package main

import "fmt"

func main(){
    var (
        name string
        age int
        ok bool    
    )
}

变量的初始化

声明的时候会自动对变量对应的内存区域进行初始化操作
每个变量会被初始化成其类型的默认值

  • 整型,浮点型:0
  • 字符串:空“”
  • 布尔类型:false
  • 切片、函数、指针:nil

变量初始化语法

var 变量名 类型 = 表达式
例如:

package main
import "fmt"
func main(){
    vae name string = "老曹"
    var age int = 32
    var site string = "www.loveblog.vip"
}

类型推导

可以根据初始化值进行类型推导,从而省略类型

package main
import "fmt"
func main(){
    var name = "老曹"
    var age = 32
    var site = "www.loveblog.vip"
}

初始化多个变量

可以一次初始化多个,中间用,分隔

package main
import "fmt"
func main(){
    var name,site,age = "老曹","www.loveblog.vip",32
}

短变量声明

在函数内部,可以使用:=运算符对变量进行声明和初始化

package main
import "fmt"
func main(){
    name := "老曹"
    age := 32
    site := "www.loveblog.vip"
}

注:只适合函数内部,外部不能用

匿名变量

如果我们接收多个变量,有一些变量使用不到,可以使用_表示变量名称,这种就叫匿名变量

package main
import "fmt"

func getNameAndAge()(string,int){
    return "老曹",32    
}
func main(){
    name,_:= getNameAndAge()
    fmt.Printf("name:%v\n",name)
}