栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

第003节:变量作用域

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第003节:变量作用域

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

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

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

局部变量

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

全局变量

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

package mainimport "fmt"var g intfunc main() {      var a, b int      a = 10   b = 20   g = a + b   fmt.Printf("结果: a = %d, b = %d and g = %dn", a, b, g)}

结果

结果: a = 10, b = 20 and g = 30

形式参数

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

指针作为接收者

若不是以指针作为接收者,实际只是获取了一个copy,而不能真正改变接收者的中的数据

func (b *Box) SetColor(c Color) {    b.color = c}

示例代码

package mainimport (    "fmt")type Rectangle struct {    width, height int}func (r *Rectangle) setVal() {    r.height = 20}func main() {    p := Rectangle{1, 2}    s := p    p.setVal()    fmt.Println(p.height, s.height)}

结果

20 2

如果没有那个*,则值就是2 2

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/793649.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号