if 和 else
程序员成长之旅 · 程序员成长之旅/Go语言学习/笔记 · 196 字
if 和 else
在 if 的简短语句中声明的变量同样 可以在任何对应的 else 块中使用 。
(在 main 的 fmt.Println 调用开始前,两次对 pow 的调用均已执行并返回其各自的结果。)
package main import ( "fmt" "math" ) func pow(x, n, lim float64) float64 { if v := math.Pow(x, n); v < lim { return v } else { fmt.Printf("%g >= %g\n", v, lim) } // 这里开始就不能使用 v 了 return lim } func main() { fmt.Println( pow(3, 2, 10), pow(3, 3, 20), ) }
x
1 package
main 2 3 import ( 4
"fmt" 5
"math" 6 ) 7 8 func
pow ( x , n , lim
float64 ) float64 { 9
if
v :
math . Pow ( x , n ); v
<
lim { 10
return
v 11
} else { 12
fmt . Printf ( "%g >= %g\n" , v , lim ) 13
} 14
// 这里开始就不能使用 v 了 15
return
lim 16 } 17 18 func
main () { 19
fmt . Println ( 20
pow ( 3 , 2 , 10 ), 21
pow ( 3 , 3 , 20 ), 22
) 23 } 24