首页 > 其他分享 >Go 语言变量作用域

Go 语言变量作用域

时间:2023-02-10 14:22:52浏览次数:35  
标签:main 变量 作用域 局部变量 Go 全局变量 函数

作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。

Go 语言中变量可以在三个地方声明:

  • 函数内定义的变量称为局部变量
  • 函数外定义的变量称为全局变量
  • 函数定义中的变量称为形式参数

接下来让我们具体了解局部变量、全局变量和形式参数。

局部变量

在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。

以下实例中 main() 函数使用了局部变量 a, b, c:

package main
import "fmt"
func main() {
   /* 声明局部变量 */
   var a, b, c int

   /* 初始化参数 */
   a = 10
   b = 20
   c = a + b

   fmt.Printf ("结果: a = %d, b = %d and c = %d\n", a, b, c)
}

全局变量

在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用。

全局变量可以在任何函数中使用,以下实例演示了如何使用全局变量:

package main
import "fmt"
/* 声明全局变量 */
var g int
func main() {
   /* 声明局部变量 */
   var a, b int
   /* 初始化参数 */
   a = 10
   b = 20
   g = a + b

   fmt.Printf("结果: a = %d, b = %d and g = %d\n", a, b, g)
}

形式参数

形式参数会作为函数的局部变量来使用。

初始化局部和全局变量

不同类型的局部和全局变量默认值为:

数据类型初始化默认值
int 0
float32 0
pointer nil

标签:main,变量,作用域,局部变量,Go,全局变量,函数
From: https://www.cnblogs.com/ljknlb/p/17108752.html

相关文章

  • Go 语言函数
    函数是基本的代码块,用于执行一个任务。Go语言最少有个main()函数。你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。函数声明告诉了编译器函数的名......
  • js基础笔记学习88-作用域链
    ......
  • js基础笔记学习87-函数作用域
    ......
  • GoJS:如何将背景图像添加到图表中
    GoJS:如何将背景图像添加到图表中phic 发布于2019-11-05 • 在 gojs • 最后更新2019-11-0518:23 • 18浏览我如何将一个背景图片添加到GoJS图表中?当我......
  • jsx中渲染报错 Invalid handler for event "input": got undefined
    原代码letdom=<el-dialogtitle="详细信息"visible={this.dialogshow}cancel:falsewidth="600px"><el-formmodel={this.ruleForm}rules={th......
  • 关于ABAP的变量声明规范
    数据定义(datadefinitions):type类型(variabletype): TY_全局变量(globalvariable):GV_局部变量(localvariable):LV_全局工作区(globa......
  • Go GUI框架Fyne学习
    一.gcc安装去SourceForge下载gcc,选择x86_64-win32-sehhttps://sourceforge.net/projects/mingw-w64/files/解压后配置环境变量,路径替换成自己的,选择mingw64下的bin文件......
  • Django-ORM
    ORM由来让我们从O/R开始。字母O起源于"对象"(Object),而R则来自于"关系"(Relational)。几乎所有的软件开发过程中都会涉及到对象和关系数据库。在用户层面和业务逻辑层面,......
  • 数据同步gossip协议原理与应用场景介绍
    作者:京东物流冯鸿儒1简介Gossip是一种p2p的分布式协议。它的核心是在去中心化结构下,通过将信息部分传递,达到全集群的状态信息传播,传播的时间收敛在O(Log(N))以内,其中N是节......
  • 数据同步gossip协议原理与应用场景介绍
    作者:京东物流冯鸿儒1简介Gossip是一种p2p的分布式协议。它的核心是在去中心化结构下,通过将信息部分传递,达到全集群的状态信息传播,传播的时间收敛在O(Log(N))以内,其中N是节点的......