go语言中的if语句怎么使用

if 语句看起来跟 C 或者 Java 中的一样,除了没有了 ( ) 之外(甚至强制不能使用它们),而 { } 是必须的。

代码如下:

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))
}

跟 for 一样,if 语句可以在条件之前执行一个简单的语句。

由这个语句定义的变量的作用域仅在 if 范围之内。

(在最后的 return 语句处使用 v 看看。)

package mainimport (    "fmt"    "math")func pow(x, n, lim float64) float64 {    if v := math.Pow(x, n); v < lim {        return v    }    return lim}func main() {    fmt.Println(        pow(3, 2, 10),        pow(3, 3, 20),    )}

在 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)
    }
        // 不能在这里使用 v,因此
    return lim
}
func main() {
    fmt.Println(
        pow(3, 2, 10),
        pow(3, 3, 20),
    )
}

原创文章,作者:ATVBT,如若转载,请注明出处:https://www.beidanyezhu.com/a/29747.html

(0)
ATVBT的头像ATVBT
上一篇 2025-02-12 21:51:04
下一篇 2025-02-12

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分享本页
返回顶部