美文网首页
Go_038_函数作用域

Go_038_函数作用域

作者: 为宇绸缪 | 来源:发表于2023-08-31 10:36 被阅读0次

    所谓变量作用域,即变量可以作用的范围。

    作用域(scope)通常来说,程序中的标识符并不是在任何位置都是有效可用的,而限定这个标识符的可用性的范围就是这个名字的作用域。

    变量根据所在位置的不同可以划分为全局变量和局部变量

    局部变量
    写在{}中或者函数中或者函数的形参, 都是局部变量

    1、局部变量的作用域是从定义的那一行开始, 直到遇到 } 结束或者遇到return为止
    2、局部变量, 只有执行了才会分配存储空间, 只要离开作用域就会自动释放
    3、局部变量存储在栈区
    4、局部变量如果没有使用, 编译会报错。全局变量如果没有使用, 编译不会报错
    5、:=只能用于局部变量, 不能用于全局变量

    全局变量
    函数外面的就是全局变量

    1、全局变量的作用域是从定义的那一行开始, 直到文件末尾为止
    2、全局变量, 只要程序一启动就会分配存储空间, 只有程序关闭才会释放存储空间
    3、全局变量存储在静态区(数据区)

    寻找变量
    函数内部是局部变量,外面是global,再外面是 built-in,再找不到就会报错
    找不到只能向上找,如果是在全局当中,是不会往函数里面找
    函数中找变量不会向其他同级别的函数当中去找,只会去 global 或者 built-in 里面去找

    相关文章

      网友评论

          本文标题:Go_038_函数作用域

          本文链接:https://www.haomeiwen.com/subject/liczmdtx.html