跳到主要内容

go-变量

  • Go通过var来声明变量
  • 支持变量简写
  • Go支持变量的自动类型的推导
  • Go 支持一次声明多个变量
  • Go 不允许声明未使用变量
go
// 语法
var 变量名 类型

// 声明
var age int = 18

// 多变量声明
var a, b int

变量简写​

  • 变量简写 :=
  • Go的变量简写,不需要变量声明
  • 编译器会自动判断类型
  • 注意问题::= 的限制,只能在函数体内部使用
go
变量 := 值

age := 20

a, b := 20, 30

变量作用域​

  • 使用大括号 {} 定义作用域
  • 定义的变量作用域,变量只能在作用域内使用,如果在外部使用会报错
go
func main(){

age := 20

{
name := "Tom"

fmt.Println(name)
}


fmt.Println(age)

fmt.Println(name) // ❌
}

空变量 _(忽略变量)​

  • Go 不允许声明未使用变量
    • 如果变量未使用,会报错
    • 可通过_ 来表示空变量、忽略变量

变量分组声明​

  • 使用括号把多个变量声明组织在一起的形式
go
var (
a int
b string
c bool
)

const和var区别​

  • const 和 var 都可以用来声明数据,但核心区别是:const** 定义常量,var 定义变量**
  • const 定义的常量不能修改,用于固定值、枚举值