欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

GoLang学习控制语句之if/else

程序员文章站 2024-01-05 23:27:58
...

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

上一篇:

下一篇: