go语言中有全局变量和局部变量,全局变量在方法的大括号外,大括号内的变量成为局部变量,但是局部变量也有作用域,方法内的大括号中的变量只可以在括号内使用。
go语言变量的作用域
go语言中有全局变量和局部变量。
全局变量在方法的大括号外。
大括号内的变量成为局部变量。
但是局部变量也有作用域。
方法内的大括号中的变量只可以在括号内使用。
局部变量sex
package main
import "fmt"
var API_VERSION string = "0.1" // 声明一个字符串全局变量,赋值"0.1"
func main() {
var name string = "学习go语言" // 声明一个字符串变量类型
if true {
var age int = 50 // 声明一个整形变量类型age,赋值50。
var sex int = 1 // 声明一个整形变量类型sex,赋值1。
fmt.Println(name) // name 变量属于上级括号局部变量,下级大括号能够使用变量name。
fmt.Println(age) // age 变量只属于if大括号,只能在if条件下括号中使用。
fmt.Println(sex) // sex 变量只属于if大括号,只能在if条件下括号中使用。
fmt.Println(API_VERSION) // API_VERSION 全局变量,能使用。
API_VERSION = "0.2" // 重新修改全局变量API_VERSION的值为"0.2"
}
fmt.Println(API_VERSION) // API_VERSION 全局变量,能使用,且是if代码块中重新赋值的值。
fmt.Println(sex) // go语言编译器提示未找到变量sex,应为sex定义在了if条件的打括号内。
}
执行代码打印
undefined: sex
注释最后打印sex代码,执行代码打印
学习go语言
50
1
0.1
0.2
转载注明:
感谢博主,喝杯咖啡~
感谢博主,喝杯咖啡~
还没有人发表评论