关于goland:GO语言入门-四控制结构

41次阅读

共计 2230 个字符,预计需要花费 6 分钟才能阅读完成。

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

流程管制语句

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

1. if 条件语句

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

package main

import "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 main

import "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 main

import "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 main

import "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 main

import "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 main

import "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 main

import "fmt"

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

输入后果为:

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

代码如下:

package main

import "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 main

import "fmt"

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

输入后果为:

集体博客地址

http://www.zhouzhaodong.xyz/

正文完
 0