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
     
    有罪是符合人性的,但长期坚持不改就是魔鬼。
  • 相关阅读:
    表白利器,马赛克拼贴照片制作
    听说国漫最近崛起了,那我们就来爬几部国漫看看(动态加载,反爬)
    python爬虫--看看虎牙女主播中谁最“顶”
    “花小猪”,滴滴搬起石头砸自己的脚?
    Linux命令学习之awk
    《Redis深度历险》集群篇、拓展篇
    《Redis深度历险》原理篇
    《Redis深度历险》应用篇
    《鸟哥的Linux私房菜 基础篇》下
    Git使用
  • 原文地址:https://www.cnblogs.com/yu-yuan/p/9635995.html
Copyright © 2011-2022 走看看