分支循环

链客,专为开发者而生,有问必答!区块链

此文章来自链客区块链技术问答社区,未经容许拒绝转载。测试

在这里插入图片描述

程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构。spa

1、条件语句code

1.1 If语句图片

语法格式:开发

if 布尔表达式 {rem

/ 在布尔表达式为 true 时执行 /get

}编译器

if 布尔表达式 {string

/ 在布尔表达式为 true 时执行 /

} else {

/ 在布尔表达式为 false 时执行 /

}

if 布尔表达式1 {

/ 在布尔表达式1为 true 时执行 /

} else if 布尔表达式2{

/ 在布尔表达式1为 false ,布尔表达式2为true时执行 /

} else{

/ 在上面两个布尔表达式都为false时,执行/

}

示例代码:

package main

import "fmt"

func main() {

/ 定义局部变量 /

var a int = 10

/ 使用 if 语句判断布尔表达式 /

if a < 20 {

/* 若是条件为 true 则执行如下语句 */

   fmt.Printf("a 小于 20\n" )

}

fmt.Printf("a 的值为 : %dn", a)

}

若是其中包含一个可选的语句组件(在评估条件以前执行),则还有一个变体。它的语法是

if statement; condition {

}

if condition{

}

示例代码:

package main

import (

"fmt"

)

func main() {

if num := 10; num % 2 == 0 { //checks if number is even

    fmt.Println(num,"is even")

}  else {

    fmt.Println(num,"is odd")

}

}

须要注意的是,num的定义在if里,那么只可以在该if..else语句块中使用,不然编译器会报错的。

1.2 switch 语句

1.2.1 switch的语法

switch是一个条件语句,它计算表达式并将其与可能匹配的列表进行比较,并根据匹配执行代码块。它能够被认为是一种惯用的方式来写多个if else子句。

switch 语句用于基于不一样条件执行不一样动做,每个 case 分支都是惟一的,从上直下逐一测试,直到匹配为止。switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不须要再加break。

而若是switch没有表达式,它会匹配true

Go里面switch默认至关于每一个case最后带有break,匹配成功后不会自动向下执行其余case,而是跳出整个switch, 可是可使用fallthrough强制执行后面的case代码。

变量var1 能够是任何类型,而 val1 和 val2 则能够是同类型的任意值。类型不被局限于常量或整数,但必须是相同的类型;或者最终结果为相同类型的表达式。您能够同时测试多个可能符合条件的值,使用逗号分割它们,例如:case val1, val2, val3。

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"  //case 后能够由多个数值

  default: grade = "D"

}

switch {

case grade == "A" :

     fmt.Printf("优秀!\n" )     

  case grade == "B", grade == "C" :

     fmt.Printf("良好\n" )      

  case grade == "D" :

     fmt.Printf("及格\n" )      

  case grade == "F":

     fmt.Printf("不及格\n" )

  default:

     fmt.Printf("差\n" );

}

fmt.Printf("你的等级是 %sn", grade );

}

1.2.2 fallthrough语句

如需贯通后续的case,就添加fallthrough

package main

import (

"fmt"

)

type data [2]int

func main() {

switch x := 5; x {

default:

    fmt.Println(x)

case 5:

    x += 10

    fmt.Println(x)

    fallthrough

case 6:

    x += 20

    fmt.Println(x)



}

}

相关文章
相关标签/搜索