在 go 中,函数作用域限制变量可见性,限定在变量声明所在的函数内:在函数内声明变量:var name type = value作用域仅限于声明的代码块,其他函数或嵌套块无法访问这些变量
Go 中函数作用域变量定义
在 Go 中,函数作用域决定了变量的可见性。函数内部声明的变量只能在该函数内访问。
变量声明
在函数中声明变量的方式如下:
var name string = "Alice"
其中:
var
关键字表示声明一个新变量。name
是变量的名称。string
是变量的类型。= "Alice"
初始化变量的值。
作用域
在 Go 中,变量的作用域仅限于其声明的代码块中。这意味着在其他函数或嵌套块中无法访问这些变量。
例如:
func main() {
age := 20
fmt.Println(age) // 输出:20
}
func other() {
// age 未定义
fmt.Println(age) // 错误
}
实战案例:计算三角形面积
为了演示函数作用域,我们编写一个函数来计算三角形面积:
func area(base, height float64) float64 {
// 定义局部变量面积
var area float64
// 计算三角形面积
area = 0.5 * base * height
return area
}
func main() {
// 在主函数中调用 area 函数并打印面积
fmt.Println(area(5.0, 10.0)) // 输出:25.0
}
在上面的示例中:
- 函数
area
声明了一个局部变量area
。 - 变量
area
在函数area
中有效,但在主函数main
中无效。 - 主函数
main
使用fmt.Println
打印area
函数的返回值。