进阶,进阶,向管制接口登程。。。

流程管制语句

流程管制语句用于控制程序的执行程序,这样程序就具备了逻辑构造。

1. if 条件语句

依据布尔值的表达式来决定抉择哪个分支执行:
如果表达式的值为true,则if分支被执行;
如果表达式的值为false,则else分支被执行;
示例:

package mainimport "fmt"func main (){    // 将10赋值给i    i := 10    // 须要留神的是:    // if前面的条件表达式不须要应用()        // 每个条件分支(if或者else)中的大括号是必须的    // if紧跟的大括号{不能独占一行,else前的大括号}也不能独占一行    // 如果你的条件分支不止两个,那么你还能够在if·····else条件语句中减少多个else if    if i > 10 {        fmt.Println("i大于10")    } else if i == 10{        fmt.Println("i等于10")    } else {        fmt.Println("i小于10")    }}

输入后果为:

划重点:
和其余的编程语言不同的是,Go语言中的if语句中能够有一个简略的表达式语句,并将该语句与条件语句用分号离开。

革新示例如下:

package mainimport "fmt"func main() {    // 间接将i的赋值放到if前面,并与条件语句用分号隔开    // 这里须要留神的是,在if前面申明的变量只能在if·····else条件语句范畴内应用    if i := 10; i > 10 {        fmt.Println("i大于10")    } else if i == 10 {        fmt.Println("i等于10")    } else {        fmt.Println("i小于10")    }}

输入后果为:

2. switch 抉择语句

switch的case从上到下留神进行判断
一旦满足条件,立刻执行对应的分支并返回
其余分支不再做判断

革新示例如下:

package mainimport "fmt"func main() {    switch i := 10; { // switch前面也能够跟简略的表达式语句,用分号隔开    case i > 10: // case条件前面用冒号,并且不必{}        fmt.Println("i大于10")    case i == 10: // case自带break,不须要再有完结switch的操作        fmt.Println("i等于10")    default: // 这里相当于if中的else        fmt.Println("i小于10")    }}

输入后果为:

2.1 如果须要switch语句在执行满足条件的case之后还须要执行下一个case的话,就须要用fallthrough关键字

示例如下:

package mainimport "fmt"func main() {    switch i := 10; {    case i == 10:        fmt.Println("i等于10")        fallthrough // 这里没有break跳出switch,进行下一个case操作    case i == 10:        fmt.Println("i等于10,这是第二个case")    default:        fmt.Println("i小于10")    }}

输入后果为:

2.2 如果switch前面跟着表达式的话,前面的case的值就须要和这个表达式的后果类型雷同,如果不同就会报错。

示例如下:

package mainimport "fmt"func main() {    switch i := 1; i{    case 1:        fmt.Println("i等于10")        fallthrough    case 2:        fmt.Println("i等于10,这是第二个case")    default:        fmt.Println("i小于10")    }}

输入后果为:

2.3 也能够间接将表达式放到switch之后

示例如下:

package mainimport "fmt"func main() {    switch 2 > 1 {    case true:        fmt.Println("正确")    case false:        fmt.Println("谬误")    default:        fmt.Println("不晓得")    }}

输入后果为:

3. for 循环语句

计算1到100的数字之和时
如果用代码将一个个数字加起来,会非常复杂,可读性也不好

for循环有三局部组成

  1. 是一个简略语句,个别用于for循环的初始化
  2. for循环的条件,示意for循环什么时候完结
  3. 更新语句,个别用于更新循环的变量

代码如下:

package mainimport "fmt"func main() {    sum := 0    for i:=1;i<=100;i++ {        sum += i    }    fmt.Println("从1加到100的值为:", sum)}

输入后果为:

3.1 Go语言中没有while循环,能够通过革新for循环来实现

代码如下:

package mainimport "fmt"func main() {    sum := 0    i := 1    for i <= 100 {        sum += i        i++    }    fmt.Println("从1加到100的值为:", sum)}

输入后果为:

3.2 跳出循环

continue能够跳出本次循环,继续执行下一个循环
break能够跳出整个for循环,哪怕for循环没有执行完,也会强制终止

应用for无线循环,在for循环外面用条件语句加break来跳出循环
革新代码为:

package mainimport "fmt"func main() {    sum := 0    i := 1    for {        sum += i        i++        if i > 100 {            break        }    }    fmt.Println("从1加到100的值为:", sum)}

输入后果为:

集体博客地址

http://www.zhouzhaodong.xyz/