zoukankan      html  css  js  c++  java
  • Go语言条件语句

    Go语言条件语句
      • if 语句
        • 语法:布尔表达式可以是多个的组合,布尔表达式可以用括号括起来,也可以不用括起来
                         if 布尔表达式{
                    /* 在布尔表达式为true时执行 */
                         }
        • 实例
          package main
          import "fmt"
          func main(){
              var a int = 10
              var b int = 50
              if a > 5 && b > 40 {
                    fmt.Printf("a 大于 5,b 大于40
          " )
              }
          }
    • if ... else语句,if嵌套语句,switch语句和其他的语言上没有差别,用法也没啥差别,可以参照上面的if语句。
    • 但是Go语言有和其他语言不同的条件语句 select 语句:select类似于用于通信的switch语句,每个case必须有通讯操作(发送or接收),select随机执行一个可运行的case,如果没有可运行的case,则会阻塞,直到有可运行的case为止,因此,一个默认的case子句是必须的。
    • 语法
            select {
                    case communication clause  :
                           statement(s);      
                    case communication clause  :
                           statement(s);
                    /* 你可以定义任意数量的 case */
                    default : /* 可选 */
                           statement(s);
            }
    • 实例
           
     package main
            import "fmt"
            func main() {
                    var c1, c2, c3 chan int
                    var i1, i2 int
                    select {
                        case i1 = <-c1:
                            fmt.Printf("received ", i1, " from c1
    ")
                        case c2 <- i2:
                            fmt.Printf("sent ", i2, " to c2
    ")
                        case i3, ok := (<-c3):  // same as: i3, ok := <-c3
                            if ok {
                                    fmt.Printf("received ", i3, " from c3
    ")
                            } else {
                                    fmt.Printf("c3 is closed
    ")
                            }
                        default:
                            fmt.Printf("no communication
    ")
                }
            }
            输出为:no communication
    关于 "<-"的用法,可以参考:https://blog.csdn.net/whatday/article/details/74453089
     
    有罪是符合人性的,但长期坚持不改就是魔鬼。
  • 相关阅读:
    C# 使用Lazy 懒加载
    软件测试用例报告整理
    什么是事务,为什么要引入事务?
    WPF+DataGrid+MySQL实现增删改查、Excel文件导出
    git 设置远程库别名
    Access Like内存溢出问题排查,并找出相应的包含26个日文片假名数据的sql语句
    java 离线中文语音文字识别
    fbx的法线设置方式引起的显示不正确
    C#定时job
    CSS3+js实现循环滚动文字播放与暂停demo
  • 原文地址:https://www.cnblogs.com/yu-yuan/p/9635995.html
Copyright © 2011-2022 走看看