Go语言-条件判断语句

所有的编程语言中,都不可避免的需要使用判断语句。条件判断语句一般使用if或者switch实现。

1 if 语句

首先上一段代码:

package main

import (
    "fmt"
    "io/ioutil"
)

func main() {
    const filename = "abc.txt"
    contents, err := ioutil.ReadFile(filename)

    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Printf("%s\n", contents)
    }
}

由上面的语句可知, if语句的使用不需要使用括号进行包裹。又,上面的语句可以改写为:

if contents, err := ioutil.ReadFile(filename); err != nil {
        fmt.Println(err)
    } else {
        fmt.Printf("%s\n", contents)
    }

上述程序表明,if条件语句可以进行赋值,且后面可以执行多条语句。if条件语句中定义的变量,其有效期仅处于if语句块中。

2 switch语句

首先还是先上一段代码:

package main

func eval (a,b int, op string) int {
    var result int

    switch op{
    case "+":
        result = a + b
    case "-":
        result = a-b
    default:
        panic ("unsupported operator: "+ op)
    }
    return result
}

func main() {
    println(eval(1,2,"-"))
}

由上述代码可以发现,区别于其他的语言,Go语言中不需要在每个case后面打break!

switch后可以没有表达式,只在case后面直接打表达式即可。例如:

func grade(score int) string {
    switch {
    case score<60:
          return "F"
    case score<80:
        return "C"
    ...
    }
}
    原文作者:小孩真笨
    原文地址: https://www.jianshu.com/p/61a3e6b6b1d7
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞