if
- 기존의 if 문과 동일함
- if 문도 for 문과 마찬가지로
( )
는 생략 가능하다.
- 단
{ }
괄호는 필수.
package main
import (
"fmt"
"math"
)
func sqrt(x float64) string {
if x < 0 {
return sqrt(-x) + "i"
}
return fmt.Sprint(math.Sqrt(x))
}
func main() {
fmt.Println(sqrt(2), sqrt(-4))
}
짧은 구문의 if
- if 조건 실행전 짧은 구문을 하나 실행 할 수 있다.
if 실행코드; 조건 {}
형식
package main
import (
"fmt"
"math"
)
func pow(x, n, lim float64) float64 {
if v := math.Pow(x, n); v < lim {
return v
}
if fmt.Println(lim); lim > 10{
lim ++
}
return lim
}
func main() {
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
)
}
if 와 else
- if 문 안에서 선언된 변수는 else 문에서도 사용이 가능하다
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)
}
// can't use v here, though
return lim
}
func main() {
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
)
}
switch