美文网首页深入浅出golang程序员Golang
golang 基础(7)条件语句

golang 基础(7)条件语句

作者: zidea | 来源:发表于2019-03-16 16:39 被阅读26次
images.png

条件语句

if 语句

if true {
    fmt.Println("this is true)
}
func bounded(num int) int {
    if num > 100 {
        return 100
    }else if num < 0 {
        return 0
    }else{
        return 0
    }
}

if 的条件里不需要括号的

  • 引入用于读取文件的io/ioutil标准库
func main()  {
    const filename = "abc.txt"
    body, err := ioutil.ReadFile(filename)
    if err != nil{
        fmt.Println(err)
    }else{
        fmt.Printf("%s\n",body)
    }
}

ioutil.ReadFile(filename) 这个函数返回两个值,分别是 []byte 和 error,go 语言中是可以返回两个值

因为我们还没有创建 abc.txt 文件所以会报错

open abc.txt: The system cannot find the file specified

我们也可以在 go 中将上面表达式进行简化,将表达式写入if语句

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

我们在 if 代码块以外是无法访问到 body error 变量

b := true
    if food := "chocolate"; b {
        fmt.Println(food)
    }

if 其实为我们提供一个作用域,

switch 语句

go 中 switch 不需要为分支语句加 break,除非使用 fallthrough

func grade(score int) string{
    g := ""
    switch {
        case score < 0 || score > 100:
            panic(fmt.Sprintf("Wrong score: %d", score))
        case score < 60:
            g ="F"
        case score < 80:
            g = "C"
        case score < 90:
            g = "B"
        case score <= 100:
            g = "A"
            
    }

    return g
}

fmt.Println(
grade(0),
grade(85),
grade(120),
)

这里注意一下这里 grade(120) 也是需要以(逗号,) 结尾的,不然编译期间报错,因为我们结尾 ) 换行了,如果不换行就不需要 grade(120) 后面加 (逗号,)

因为 120 不是取值范围,所以报错并且其他值也没有计算出来。panic 会中断程序

panic: Wrong score: 120
Golang1.png

相关文章

  • golang 基础(7)条件语句

    条件语句 if 语句 if 的条件里不需要括号的 引入用于读取文件的io/ioutil标准库 ioutil.Rea...

  • Golang基础(二)——流程控制语句

    Golang基础——流程控制语句 @([07] golang)[Go总结] [TOC] for循环语句 go只有f...

  • Golang控制流

    条件语句 if语句 下面是Golang的if语句,需要注意的是条件判断块不需要小括号,而且if语句的大括号不能省略...

  • 2019-06-11

    js基础知识: 多重条件判断语句 语法:if(条件表达式){语句...}else if(条件表达式){语句...}...

  • 4/07day28_js基础

    day28_js基础 回顾 JS基础语法 JS运算符 JS流程控制语句 条件语句 JS的条件语句和Java语法基本...

  • 2019-06-11

    js基础知识: 多重条件判断语句 语法: switch语句 条件分支语句也叫switch语句语法: 代码例子: 数...

  • Golang学习—if语句支持复合语法

    Golang的if语句支持一种复合语法: 语句一所定义的变量,在条件表达式中进行test,条件表达式的结果即为if...

  • C语言基础继续讲讲(循环语句-数组)

    C语言基础 三大执行流程 顺序执行流程 条件执行流程if语句if(条件){ 语句体}如果条件成立,就执行{}...

  • 2018-07-19

    作业: 基础 作业01 小结: 1.ifif 条件语句:代码块 其他语句 执行过程:先判断条件语句是否为True,...

  • python基础-06-条件判断、循环语句

    python基础-条件判断、循环语句 1.条件语句: 形式: 意义: 例子: 获取随机数: 2.循环语句 **1....

网友评论

    本文标题:golang 基础(7)条件语句

    本文链接:https://www.haomeiwen.com/subject/xcusmqtx.html