美文网首页Go
golang := 变量作用域 (坑)

golang := 变量作用域 (坑)

作者: wuhan_goer | 来源:发表于2021-05-10 16:18 被阅读0次
package main

import (
    "errors"
    "fmt"
    "strconv"
)

func main() {

    var err error
    err = errors.New("test")
    for i := 0; i < 2; i++ {
        fmt.Println(err)
        r, err := strconv.Atoi("1s")
        fmt.Println(r, err)
    }
    fmt.Println(err)

}

此时 := 不能修改全局变量的值,在该作用域里并没有定义时, := 会是创建新变量.for循环的里的err 不影响最外层全局的err ,所以最终打印err还是test
因为内部声明的err将屏蔽外部的声明
可以看到for 里面的 := 只是临时覆盖


image.png

相关文章

  • golang := 变量作用域 (坑)

    此时 := 不能修改全局变量的值,在该作用域里并没有定义时, := 会是创建新变量.for循环的里的err 不影响...

  • Golang须知

    变量的包作用域在Golang中,同个package中的非局部变量,可以认为是package作用域,可在packag...

  • Learn Golang in Day 8

    Learn Golang in Day 8 变量作用域 局部变量 全局变量 形参也是局部变量 局部变量 函数内部声...

  • 第四章 作用域和内存问题

    变量的作用域? 变量作用:起作用域:区域,范围变量起作用的地方 变量的生命周期,变量生于这个作用域,死于这个作用域...

  • JS作用域链

    作用域 变量的作用域 变量的作用域有两种:全局变量和局部变量。 全局作用域: 最外层函数定义的变量拥有全局作用域,...

  • 变量作用域

    变量作用域:静态作用域、动态作用域JS变量作用域:JS使用静态作用域JS没有块级作用域(全局作用域、函数作用域等)...

  • 【前端】-023-JavaScript-进阶篇-变量作用域

    变量作用域 JavaScript中变量的作用域 采用静态作用域(变量定义的位置决定了变量的引用) 没有块级作用域,...

  • php基础知识回顾-1

    1.变量作用域 php变量有四种作用域:局部作用域、全局作用域,静态作用域、参数作用域 在局部调用全局变量需要使用...

  • js中作用域与作用域链

    js中作用域与作用域链 作用域 *作用域基本概念 作用域一般指变量的作用范围,变量分为全局变量和局部变量,对应的作...

  • 作用域与变量提升

    作用域与变量提升 作用域 JS中变量的作用域有全局作用域和局部作用域两种,作用域简单来讲就是变量与函数的可访问范围...

网友评论

    本文标题:golang := 变量作用域 (坑)

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