第四章 Go语言中的控制语句

时间:2022-07-28
本文章向大家介绍第四章 Go语言中的控制语句,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

控制语句

向c语言一样,常见的控制语句:

  1. if...else语句
  2. switch...case语句
  3. for语句
  4. 没有while关键字
  5. break 和 continue

比较运算符

您可以确定变量或值之间的相等性或差异。

  • == 等于
  • != 不等于
  • > 大于
  • < 小于
  • >= 大于或等于
  • <= 小于或等于 package main import "fmt" func main() { var ( a = 2 b = 10 ) fmt.Println(a > b) fmt.Println(a < b) fmt.Println(a >= b) fmt.Println(a <= b) fmt.Println(a != b) fmt.Println(a == b) }

逻辑运算符


&& and

|| or

! not

var (
    c = 5
    d = 8
)

fmt.Println(c>d && c!=d)
fmt.Println(!(c>=d))
fmt.Println(c==d || c>d)

选择

在Go语言中可以用两种方法做选择, if..elseswitch..case

if..else

if conditional {
// do something
}else{
// do another job
}

package main

import "fmt"

func main() {
    var (
        a = 5
        b = 8
    )
    if a > b || a-b < a {
        fmt.Println("conditional-->a>b || a-b<a")
    }else {
        fmt.Println("..anothor")
    }
}

switch..case

switch option {
    case option1:
        // do option1 job
    case option2:
        // do option2 job
}
    selected := 2

    switch selected {
    case 0:
        fmt.Println("seleted = 0")
    case 1:
        fmt.Println("seleted = 1")
    case 2:
        fmt.Println("seleted = 2")
    case 3:
        fmt.Println("seleted = 3")
    default:
        fmt.Println("other..")

    }

循环--for

当我们需要做重复的运算是,循环语句是很有用的。语法格式如下:

for initialization;conditional;increment/decrement {
}
package main
import "fmt"
func main() {
    // iteration - for
    var i int
    for i=0;i<5;i++ {
    fmt.Println(i)
    }
    for j:=5;j<11;j++ {
    fmt.Println(j)
    }
}

循环--while

Go不提供和C语言和Python那样的 while 关键字,我们可以使用 for 语句(省略条件)来实现while语句的功能。

    // while的go实现
    m := 0
    for m < 5 {
        fmt.Println(m)
        m ++
    }

break 和 continue

break可以被用来中断程序包含它的那段循环,并开始下一阶段,continue语句可以跳过本次迭代的这一段代码,并开始下一段迭代。比如:我们程序中有如下循环,使用break会在value=3的时候循环终止,而如果我们使用continue则会跳出value=7的这一次迭代,开始进行下一轮迭代。

package main

import "fmt"

func main() {
    var i int
    for i=0; i < 5; i++ {
        if i == 3 {
            break
        }
        fmt.Println(i)
    }

    for j:=5; j < 11; j++ {
        if j == 7{
            continue
        }
        fmt.Println(j)
    }
}

程序输出结果

i==3 时,遇到break,循环退出,所以3和4都不会打印。 当j==7时,遇到continue,本次迭代结束,所以不会打印7,而后面的8,9,10会一次打印出,然后程序结束。 程序运行结果如下,验证正确:

0
1
2
5
6
8
9
10