• GoLang学习控制语句之if/else


    if语句

    if 是用于测试某个条件(布尔型或逻辑型)的语句,如果该条件成立,则会执行 if 后由大括号括起来的代码块,否则就忽略该代码块继续执行后续的代码。

    if condition {
        // do something    
    }
    

    if-else结构定义

    如果存在第二个分支,则可以在上面代码的基础上添加 else 关键字以及另一代码块,这个代码块中的代码只有在条件不满足时才会执行。if 和 else 后的两个代码块是相互独立的分支,只可能执行其中一个。

    if condition {
        // do something    
    } else {
        // do something    
    }
    

    多分支if-else结构定义

    如果存在第三个分支,则可以使用下面这种三个独立分支的形式:

    if condition1 {
        // do something    
    } else if condition2 {
        // do something else    
    }else {
        // catch-all or default
    }
    

    即使当代码块之间只有一条语句时,大括号也不可被省略(尽管有些人并不赞成,但这还是符合了软件工程原则的主流做法)。

    格式规则

    • Go语言中条件语句不需要圆括号。但是分支中必须有大括号。
    • Go语言条件语句中可以用:=初始化一个变量,不过需要记住,这个变量是局部变量,该变量的作用域仅在if范围之内。
    • Go语言里面对if/else格式对齐要求很严格,如果需要if/else组合,则需要在if语句结束的大括号后面就跟上else。
    • 关键字 if 和 else 之后的左大括号{必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号}必须和 else-if 关键字在同一行。这两条规则都是被编译器强制规定的。

    代码示例

    package main
    import "fmt"
    
    func main() {
        // 基本的例子
        if 7%2 == 0 {
            fmt.Println("7 is even")
        } else {
            fmt.Println("7 is odd")
        }
    
        // 只有if条件的情况
        if 8%4 == 0 {
            fmt.Println("8 is divisible by 4")
        }
    
        // if条件可以包含一个初始化表达式,这个表达式中的变量
        // 是这个条件判断结构的局部变量
        if num := 9; num < 0 {
            fmt.Println(num, "is negative")
        } else if num < 10 {
            fmt.Println(num, "has 1 digit")
        } else {
            fmt.Println(num, "has multiple digits")
        }
    }
    
  • 相关阅读:
    中国剩余定理(普通+扩展)
    因子和(洛谷P1593)——约数和+分解质因数
    暑假考试题6:problem 题(Catlan + dp + 组合数)
    暑假考试题6:single 单(树上推理)
    暑假考试题5:tree 最小生成树(最小生成树+倍增)
    暑假考试题5:序列(分类讨论水题)
    暑假考试题5:工作 work(贪心+二分)
    暑假考试题4:砍树 cut(整除分块)
    4.8 作业
    面向对象编程
  • 原文地址:https://www.cnblogs.com/senlinyang/p/8869242.html
Copyright © 2020-2023  润新知