网络编程
位置:首页>> 网络编程>> Go语言>> go语言 全局变量和局部变量实例

go语言 全局变量和局部变量实例

作者:徒步远方999  发布时间:2024-04-26 17:18:56 

标签:go,全局,变量,局部

一、局部变量

1 定义在{}里面的变量时局部变量,只能在{}里面有效

2 执行到定义的那句话,开始分配内存空间,离开作用域自动进行释放

3 作用域,就是变量作用的范围


package main
import "fmt"
func test() {
i := 111
fmt.Println("i=", i)
}

func main() {
test()
{
i := 10
fmt.Printf("i=%v\n", i)
}
// i=12 错误

if flag := 3; flag == 3 {
fmt.Println("flag=", flag)
}
//fmt.Println("flag=", flag) 错误
}

二、全局变量

1 定义在函数外部的变量称为全局变量

2 全局变量在任何地方都可以进行使用


package main
import "fmt"
func test() {
fmt.Println("a= ", a)
}

var a int
func main() {
a = 12
fmt.Println("a= ", a)
test()
}

三、不同作用域中,同名变量

1 不同的作用域,允许定义同名的变量

2 使用变量的原则,就近原则,如果局部变量没有,就去全局变量中找


package main
import "fmt"

//定义一个全局变量
var a byte
func main() {
var a int
fmt.Printf("1: a type is %T\n", a) //int

{
var a float32
fmt.Printf("2: a type is %T\n", a) // float32
}

test()
}

func test() {
fmt.Printf("3: a type is %T\n", a) //uint8
}

补充:golang全局变量的坑-尽量别用全局变量

看图片吧~

go语言 全局变量和局部变量实例

以上为个人经验,希望能给大家一个参考,也希望大家多多支持asp之家。如有错误或未考虑完全的地方,望不吝赐教。

来源:https://blog.csdn.net/m0_38068812/article/details/82730135

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com