指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

golang之变量声明被遮蔽现象:

在Go语言中,"shadows declaration"(变量声明被遮蔽)是指在同一作用域内使用了相同名称的变量,导致内部变量(在更小的作用域中声明的变量)"遮蔽"了
外部变量(在更大的作用域中声明的变量)。这意味着在内部作用域中,访问该变量时将只能看到内部变量,而无法访问外部变量。
  
当编译器检测到变量被遮蔽时,它会发出"shadows declaration"警告或提示。这个警告的目的是为了提醒开发者可能存在的问题,以免在代码中引入不必要的混淆和错误。
  
例如,考虑以下代码示例:
package main

import "fmt"

func main() {
    x := 10
    fmt.Println(x) // 输出: 10

    if x := 20; x > 0 {
        fmt.Println(x) // 输出: 20
    }

    fmt.Println(x) // 输出: 10
}