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