Go语言:条件语句

条件语句是编写程序的人通过指定一个或多个条件,并通过测试条件结果是否为 true 来决定是否执行指定语句,并在条件为 false 的情况再执行另外的语句。


 Go没有三目运算符,所以不支持?:形式的条件判断。

if语句

由一个布尔表达式后紧跟一个或多个语句组成。

基本语法:

if  条件表达式{

        执行代码块

}

执行代码块 说明:当条件表达式为ture时,就会执行{}的代码。 注意{}是必须有的,就算你只写一行代码。

另外需要注意的是,Go语言的条件表达式不能用()括起来,条件表达式和if之间用一个空格隔开就行。


if..else语句

if语句后可以使用可选的else语句,else语句中的表达式在布尔表达式为false时执行。

基本语法:

if  条件表达式{

        执行代码块1

} else {

        执行代码块2

}


 if嵌套语句

你可以在if或else if语句中嵌入一个或多个if或else if语句。

基本语法:

if条件表达式{

        if条件表达式{

                } else {

                       }

}

说明:嵌套分支不宜过多,建议控制在3层内。


switch语句

  • switch语向用于基于不同条件执行不同动作,每一个case分支都是唯一的,从上到下逐一测试,直到匹配为止。
  • 匹配项后面也不需要再加break,执行完case就直接退出switch语句

基本语法:

switch表达式{

case表达式1,表达式2, ... :

        语句块1

case表达式3,表达式4, ... :

        语句块2

//这里可以有多个case语句

default:

        语句块

}

执行流程

 


select语句

select语句是和Go的管道channel有关,类似于通信型的switch语句

语法如下:

select {
    case communication clause  :
       statement(s);      
    case communication clause  :
       statement(s);
    /* 你可以定义任意数量的 case */
    default : /* 可选 */
       statement(s);
}
  • 每个 case 都必须是一个通信
  • 所有 channel 表达式都会被求值
  • 所有被发送的表达式都会被求值
  • 如果任意某个通信可以进行,它就执行,其他被忽略。
  • 如果有多个 case 都可以运行,Select 会随机公平地选出一个执行。其他不会执行。
    否则:
    1. 如果有 default 子句,则执行该语句。
    2. 如果没有 default 子句,select 将阻塞,直到某个通信可以运行;Go 不会重新对 channel 或值进行求值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值