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

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

一、局部变量

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

标签:go,全局,变量,局部
0
投稿

猜你喜欢

  • python关键字and和or用法实例

    2023-12-19 20:07:40
  • Python 3.6 中使用pdfminer解析pdf文件的实现

    2023-09-02 08:34:08
  • MYSQL的DATE_FORMAT()格式化日期

    2009-02-27 16:04:00
  • Python适配器模式代码实现解析

    2023-04-15 12:58:14
  • Go语言通过Luhn算法验证信用卡卡号是否有效的方法

    2023-07-23 17:28:07
  • Go语言中的内存布局详解

    2024-05-21 10:19:55
  • Go语言中使用flag包对命令行进行参数解析的方法

    2024-02-15 00:45:09
  • Vue前端后端的交互方式 axios

    2024-05-21 10:28:58
  • 利用Vue.js制作一个拼图华容道小游戏

    2024-05-22 10:43:11
  • Python的Django框架中TEMPLATES项的设置教程

    2022-09-23 03:16:09
  • Python虚拟环境Virtualenv使用教程

    2022-04-15 00:22:21
  • Python 多线程知识点总结及实例用法

    2022-04-27 13:19:49
  • Python 自动控制原理 control的详细解说

    2023-04-17 09:53:45
  • SQL Server 数据库索引其索引的小技巧

    2012-07-11 15:55:02
  • Django1.11自带分页器paginator的使用方法

    2021-07-04 12:44:23
  • pytest测试框架+allure超详细教程

    2023-03-18 21:38:00
  • 基于python读取.mat文件并取出信息

    2021-10-24 12:06:26
  • 利用Python将图片批量转化成素描图的过程记录

    2022-08-21 09:53:59
  • 新装MySql后登录出现root帐号提示mysql ERROR 1045 (28000): Access denied for use的解决办法

    2024-01-21 13:48:06
  • 解决python super()调用多重继承函数的问题

    2022-09-28 07:50:44
  • asp之家 网络编程 m.aspxhome.com