Go语言条件语句

Posted 鸿渐之翼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言条件语句相关的知识,希望对你有一定的参考价值。

快速预览本文:Go语言独特的语句是select
条件语句运行结构

if语句

if 布尔表达式{
...
}


实例:

package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var a int = 6
 
   /* 使用 if 语句判断布尔表达式 */
   if a < 10 {
       /* 如果条件为 true 则执行以下语句 */
       fmt.Printf("a小于10\\n" )
   }
   fmt.Printf("a 的值为:%d\\n", a)
}

if…else语句

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


实例:

package main

import "fmt"

func main() {
   /* 局部变量定义 */
   var a int = 100;
   /* 判断布尔表达式 */
   if a < 10 {
       /* 如果条件为 true 则执行以下语句 */
       fmt.Printf("a 小于10\\n" );
   } else {
       /* 如果条件为 false 则执行以下语句 */
       fmt.Printf("a 不小于10\\n" );
   }
   fmt.Printf("a 的值:%d\\n", a);
}

if嵌套语句

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

实例:

package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var a int = 1
   var b int = 2
 
   /* 判断条件 */
   if a == 1 {
       /* if 条件语句为 true 执行 */
       if b == 2 {
          /* if 条件语句为 true 执行 */
          fmt.Printf("a 的值为1,b的值为2\\n" );
       }
   }
   fmt.Printf("a 值为 : %d\\n", a );
   fmt.Printf("b 值为 : %d\\n", b );
}

switch语句

流程图:

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

实例:

package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var grade string = "B"
   var marks int = 90

   switch marks {
      case 90: grade = "A"
      case 80: grade = "B"
      case 50,60,70 : grade = "C"
      default: grade = "D"  
   }

   switch {
      case grade == "A" :
         fmt.Printf("A!\\n" )    
      case grade == "B", grade == "C" :
         fmt.Printf("B\\n" )      
      case grade == "D" :
         fmt.Printf("C\\n" )      
      case grade == "F":
         fmt.Printf("F\\n" )
      default:
         fmt.Printf("fighting\\n" );
   }
   fmt.Printf("your score: %s\\n", grade );      
}

select语句

伪代码:

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 a1 = <- b1:
         fmt.Printf("received ", a1, " from b1\\n")
      case b2 <- a2:
         fmt.Printf("sent ", a2, " to b2\\n")
      case a3, ok := (<-a3):  // same as: a3, ok := <-b3
         if ok {
            fmt.Printf("received ", a3, " from c3\\n")
         } else {
            fmt.Printf("b3 is closed\\n")
         }
      default:
         fmt.Printf("no communication\\n")
   }    
}

以上是关于Go语言条件语句的主要内容,如果未能解决你的问题,请参考以下文章

Go 语言的循环及条件语句

006_go语言中的if else条件语句

go语言学习之路

Go语言条件语句

Golang✔️走进 Go 语言✔️ 第六课 条件表达式

Go语言循环判断的使用~