九、变量作用域

变量作用域

1、局部变量

函数内定义的变量称为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。
代码示例

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)
}

查看运行结果
在这里插入图片描述

2. 全局变量

函数外定义的变量称为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用
代码示例

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)
}

查看运行结果
在这里插入图片描述

3. 形式参数

形式参数会作为函数的局部变量来使用。实例如下:
代码示例

package main
 
import "fmt"
 
///* 声明全局变量 */
//var g int
 
/* 声明全局变量 */
var a int = 20
 
func main() {
 
    /* main 函数中声明局部变量 */
    var a int = 10
    var b int = 20
    var c int = 0

    fmt.Printf("main()函数中 a = %d\n", a)
    c = sum(a, b)
    fmt.Printf("main()函数中 c = %d\n", c)
}

    /* 函数定义-两数相加 */
func sum(a, b int) int {
    fmt.Printf("sum() 函数中 a = %d\n", a)
    fmt.Printf("sum() 函数中 b = %d\n", b)

    return a + b
}
**查看运行结果**

在这里插入图片描述

4. 初始化局部和全局变量

不同类型的局部和全局变量的默认值为:
int为0
float32为0
pointer为nil

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值