登录/注册

条件判断语句

简述

Golang中提供了以下几种条件判断语句:

语句描述
if 语句if 语句 由一个布尔表达式后紧跟一个或多个语句组成。
if…else 语句if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。
if 嵌套语句你可以在 ifelse if 语句中嵌入一个或多个 ifelse if 语句。
switch 语句switch 语句用于基于不同条件执行不同动作。
select 语句select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行。

if、if-else、if-else if语句

package main

import "fmt"

/**
*多行注释
 */
func main() {
    // 声明一个变量并初始化
    var one, two, three = "one","two","string"

    // 单个判断条件
    if two != "tow" {
        fmt.Println(one, two, three)
    }

    // 多个判断条件
    if two != "tow" {
        fmt.Println(one, two, three)
    }

    // 多个判断条件+逻辑运算符
    if (one == "one" && three == "two") || two != "tow" {
        fmt.Println(one, two, three)
    }else{
        fmt.Println(one, two, three)
    }


    if (one == "one" && three == "two") || two != "tow" {
        fmt.Println(one, two, three)
    }else if two == "yes" {
        fmt.Println(one, two, three)
    }
}

switch语句

package main

import "fmt"

/**
*多行注释
 */
func main() {
    // 声明一个变量并初始化
    var one, two, three = "one", "two", "string"

    // 第一种写法,指定表达式,然后case表达式的值
    switch one {
    case three:
        fmt.Println(one, two, three)
    case "dfe":
        fmt.Println(one, two, three)
    case "itdashu.com":
        fmt.Println(one, two, three)
    default:
        fmt.Println(one, two, three)
    }

    switch {
    case one == "bb":
        fmt.Println(one, two, three)
    case two == "itdashu.com":
        fmt.Println(one, two, three)
    }
}

select语句

select 是 Go 中的一个控制结构,类似于用于通信的 switch 语句。每个 case 必须是一个通信操作,要么是发送要么是接收。

select的运行机制和顺序

  1. 在select冲,所有channel表达式都会被求值、所有被发送的表达式都会被求值。求值顺序:自上而下、从左到右.
    结果是选择一个发送或接收的channel,无论选择哪一个case进行操作,表达式都会被执行。RecvStmt左侧短变量声明或赋值未被评估。
  2. 如果有一个或多个IO操作可以完成,则Go运行时系统会随机的选择一个执行,否则的话,如果有default分支,则执行default分支语句,如果连default都没有,则select语句会一直阻塞,直到至少有一个IO操作可以进行。
  3. 除非所选择的情况是默认情况,否则执行相应的通信操作。
  4. 如果所选case是具有短变量声明或赋值的RecvStmt,则评估左侧表达式并分配接收值(或多个值)。
  5. 执行所选case中的语句
本文章由 https://itdashu.com 原创发布,欢迎转载,转载请注明出处。
投稿或联系站长请发送邮件至 leno@itdashu.com。

抢沙发

我们不是孤独的个体,留下足迹,保持联系,成为团体...
姓名
电子邮件
个人主页
Golang教程