飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2125|回复: 0

[Go] go语言的if 和 else

[复制链接]
  • TA的每日心情
    开心
    2023-2-7 08:49
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2018-12-7 22:59:36 | 显示全部楼层 |阅读模式
    初学变量,觉得一切函数 + if else都能搞定,没有什么 if + else不能解决的事情,若有,再嵌套一层if else,如下是go的例子:
    [Golang] 纯文本查看 复制代码
    package basicuse
    
    import (
    	"fmt"
    	"math"
    )
    
    // 和c中if很类似,只是没有小括号
    func sqrt(x float64) string {
    	if x < 0 {
    		return sqrt(-x) + "i"
    	}
    	return fmt.Sprint(math.Sqrt(x))
    }
    
    //可以在条件之前执行一个简单的语句。
    // 由这个语句定义的变量的作用域仅在 if 范围之内。
    // 在 if 的便捷语句定义的变量同样可以在任何对应的 else 块中使用
    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
    }
    
    //TestIfElseUse 常规if/else的使用
    func TestIfElseUse() {
    	fmt.Println(sqrt(2), sqrt(-4))
    	fmt.Println(
    		pow(3, 2, 10),
    		pow(3, 3, 20),
    	)
    }

    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表