变量的作用域

68 阅读1分钟

概述

  • 在静态语言中,变量作用域是有严格要求的

作用域示例

Go 中可以直接写 {} 代码块

package main

import "fmt"

func main() {
    {
        var localName = "鸣人"
        fmt.Println(localName)
    }
    fmt.Println(localName)                // 报错
}

常用写法

package main

import "fmt"

var name = "鸣人"

func main() {
    var age int
    if name == "鸣人" {
        age := 18
        fmt.Println("inner naruto", age)  // inner naruto 18
    } else {
        age = 20
        fmt.Println("inner other", age)
    }
    fmt.Println("outer", age)             // outer 0
}