Golang 返回代码块中的值
在这篇 Golang 文章中,我们将学习如何使用外部函数和匿名函数从代码块中返回值。
代码块是用花括号创建的,在代码块内部的变量作用域不会影响代码块外部。
示例1
在这个示例中,代码块中将两个变量 x 和 y 相加,将相加的结果赋值给 z。然后,在调用函数 getResult 时,在代码块中将另外两个变量 x 和 y 相加,并将结果赋值给 z。
package main
import "fmt"
func main() {
x := 10
y := 20
// Code block
{
z := x + y
fmt.Println("Value of z:", z)
}
result := getResult()
fmt.Println("Result:", result)
}
func getResult() int {
x := 40
y := 10
{
z := x + y
return z
}
}
输出
Value of z: 30
Result: 50
示例2
在这个示例中,x被赋值为10,y被赋值为20,它们将在匿名函数中相加并返回给它, 相加的结果将赋值给z。
package main
import "fmt"
func main() {
x := 10
y := 20
// Code block
z := func() int {
return x + y
}()
fmt.Println("Value of z:", z)
}
输出
Value of z: 30
结论
我们执行和编译了返回块值的程序,使用了两个示例。在第一个示例中,我们创建了两个代码块,在第二个代码块中返回了值;而在第二个示例中,我们创建了一个匿名函数,它返回了相加的值。