美文网首页Go
Go语法基础-判断和循环

Go语法基础-判断和循环

作者: 王勇1024 | 来源:发表于2019-06-09 23:26 被阅读0次

条件语句

if

if 布尔表达式 {
   /* 在布尔表达式为 true 时执行 */
}

if...else...

if 布尔表达式 {
   /* 在布尔表达式为 true 时执行 */
} else {
  /* 在布尔表达式为 false 时执行 */
}

if语句嵌套

if 布尔表达式 1 {
   /* 在布尔表达式 1 为 true 时执行 */
   if 布尔表达式 2 {
      /* 在布尔表达式 2 为 true 时执行 */
   }
}

switch

switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。

switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加 break。

switch 默认情况下 case 最后自带 break 语句,匹配成功后就不会执行其他 case,如果我们需要执行后面的 case,可以使用 fallthrough 。

switch var1 {
    case val1:
        ...
    case val2:
        ...
    default:
        ...
}

变量 var1 可以是任何类型,而 val1 和 val2 则可以是同类型的任意值。类型不被局限于常量或整数,但必须是相同的类型;或者最终结果为相同类型的表达式。

您可以同时测试多个可能符合条件的值,使用逗号分割它们,例如:case val1, val2, val3。

switch{
    case 1,2,3,4:
    default:
}

Type Switch

switch 语句还可以被用于 type-switch 来判断某个 interface 变量中实际存储的变量类型。

Type Switch 语法格式如下:

switch x.(type){
    case type:
       statement(s);      
    case type:
       statement(s); 
    /* 你可以定义任意个数的case */
    default: /* 可选 */
       statement(s);
}

select

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

select 随机执行一个可运行的 case。如果没有 case 可运行,它将阻塞,直到有 case 可运行。一个默认的子句应该总是可运行的。

Go 编程语言中 select 语句的语法如下:

select {
    case communication clause  :
       statement(s);      
    case communication clause  :
       statement(s); 
    /* 你可以定义任意数量的 case */
    default : /* 可选 */
       statement(s);
}

以下描述了 select 语句的语法:

  • 每个 case 都必须是一个通信
  • 所有 channel 表达式都会被求值
  • 所有被发送的表达式都会被求值
  • 如果任意某个通信可以进行,它就执行,其他被忽略。
  • 如果有多个 case 都可以运行,Select 会随机公平地选出一个执行。其他不会执行。

否则:

  • 如果有 default 子句,则执行该语句。
  • 如果没有 default 子句,select 将阻塞,直到某个通信可以运行;Go 不会重新对 channel 或值进行求值。

相关文章

  • Go语法基础-判断和循环

    条件语句 if if...else... if语句嵌套 switch switch 语句用于基于不同条件执行不同动...

  • 第43课 shell编程基础 2019-05-30

    1、计算: 2、$数字的举例: 3、简单的判断举例: 4、shell判断语法基础: 5、shell循环语法:

  • Python练习——判断和循环

    Python 基础总结 (判断和循环) 条件判断 循环结构

  • Go语言基础语法--注释、基础结构2

    章节 GO语言基础语法--注释、基础结构(重要) 1.GO语言基础语法---注释、基础结构 基础结构注意事项 源文...

  • go 基础学习

    1 go 基础go 语法基础go 官方资料如果由C ,C++ 基础, 学习go 比较容易,本文学习go ,主要是为...

  • Go 语言循环嵌套

    和大多数语言一样,Go 语言允许用户在循环内使用循环。接下来我们将为大家介绍嵌套循环的使用。语法以下为 Go 语言...

  • Python——循环、判断

    if判断 语法 if 条件: elif 条件: else: while循环 语法: while 条件: 循环体 e...

  • Vue

    基础 语法 指令 计算属性 条件判断,循环 Class,Style 事件处理 组件 全局注册 局部注册 过滤器 全...

  • 初识Go语言-1

    Go语言学习路径 初识Go语言 Go语言环境搭建与IDE安装 Go语言基础语法 Go语言数据类型 Go语言变量和常...

  • GO语言基础(七)-流程和函数

    流程控制 Go中流程控制分三大类:条件判断,循环控制和无条件跳转。 if Go的if条件判断语句中不需要括号 Go...

网友评论

    本文标题:Go语法基础-判断和循环

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