<font color="#ff0000"> 在 go 语言中,变量被定义就要被使用,主要针对于局部变量,全局变量定义了不使用目前不会出问题 </font>

# 匿名变量

匿名变量 (Blank Identifier) 以下划线 _ 表示,通常用于忽略一些不需要使用的返回值。

# 全局变量与局部变量

参考:https://cloud.tencent.com/developer/article/1927806
局部变量

  • 定义:定义在 {} 里面的变量为局部变量
  • 作用域:只能在 {} 里面有效;执行到定义的那句话,开始分配内存空间,离开作用域自动进行释放
  • 局部变量一定是在函数内部声明
  • 局部变量执行到定义的那句话,开始分配内存

【举例】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

package main

import "fmt"

func main() {
//定义在{}里面的变量就是局部变量,只能在{}里面有效
//执行到定义变量那句话,才开始分配空间,离开作用域自动释放
//作用域,变量其作用的范围

if flag := 3; flag == 3 {
fmt.Println("flag = ", flag)
}
//flag = 4 不能在if外面执行 报错:undefined: flag 未定义的标记
}

全局变量

  • 定义:在函数外部的变量称为全局变量
  • 作用域:同一个包内的任何地方
  • 小写,整个包可以访问
  • 大写,跨包可以访问

# 常规形式

不知道初始值,后续赋值。

1
2
var id int
id=0

# 带初始值的定义

显式指定变量类型

1
var c string = "hello"

不指定变量类型

1
var a,b,c=3,6,"hello"

推荐这个,省事

# 使用:=

<font color="#ff0000"> 不能用于全局变量 </font>

1
2
//隐藏var关键字,该方法需要在函数内部使用
a,b,c:=3,6,"hello"

# 使用括号声明多个变量

以下展示的是局部变量,全局变量也是一样的。

1
2
3
4
5
6
7
8
9
10
11
12
13
package main

import "fmt"

func main() {
var (
name = "Tom"
age = 18
)
fmt.Println(name)
fmt.Println(age)
}

# 带初值的多变量多类型定义

1
2
3
//2.多变量定义
var user1,user2,user3="bobby1",1,"bobby3" string,int,string
fmt.Println(user1,user2,user3)

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

colagold 微信支付

微信支付

colagold 支付宝

支付宝