Golang之控制语句

package main

//if 条件判断
import "fmt"

func main (){
    age := 19
    if age > 18{
        fmt.Printf("澳门线上赌场开业啦")
    }else if age<18 && age>0{
        fmt.Printf("快去上网课吧!!")
    }else{
        fmt.Printf("error!")
    }
}
复制代码

for
循环

在Go语言中,只有for循环,没有C语言中的while循环。

  • break
    continue
    可以改变控制流,

    break
    表示从当前循环跳出,结束循环。

    continue
    表示跳过此次循环,进行下一次循环。

for循环包括两种:
​ 1.类似C语言中的循环
需要注意的是,必须将{与for循环的末尾放在同一行。否则会发生编译错误。

  • for循环普通用法
package main

import "fmt"

func main(){
    //三个语句都可以省略,但需要保留“;”
    for i:=0;i<10;i++{
        for j:=0;j<5;j++{
            fmt.Println(i)
        }
    }
复制代码
  • for
    可以类似于C语言中的 while
    使用,方法如下:
func for_while(){
    i := 0
    for i<10{
        i++
        fmt.Println(i)
    }
}
复制代码

​ 2. for runge
循环
在数据类型的区间(range)上边遍历,比如字符串,或者切片。

通过 for range
遍历的返回值有以下规律:

  1. 数组、切片、字符串返回索引(数组下标)和值。
  2. map返回键和值。
  3. 通道(channel)只返回通道内的值。
package main

import "fmt"

func main(){
    // for runge循环
    str := "cyz is good"

    for _ ,v := range str{
        fmt.Println(v)
    }
复制代码

switch
多路选择

Go语言并不需要显式地在每一个 case
后写 break
,语言默认执行完 case
后的逻辑语句会自动退出。 如果想让之后的语句都执行同一个逻辑。可以自己加 fallthrough

switch语句分两种类型
​ a.有对象

package main

import "fmt"

func main (){
    var n = 5
    switch n {
    case 1:fmt.Println("111")
    case 2:fmt.Println("222")
    case 3:fmt.Println("333")
    case 4:fmt.Println("444")
    case 5:fmt.Println("555")
    }

}
复制代码

​ b.无对象

无对象等价于 switch true
,然后将每个 case
表达式之后的值跟 true
值相比较,例子如下:

package main

import "fmt"

func main (){
    var n = 5
    switch  {
    case n == 1:fmt.Println("111")
    case n == 2:fmt.Println("222")
    case n == 3:fmt.Println("333")
    case n == 4:fmt.Println("444")
    case n == 5:fmt.Println("555")
    }

}
复制代码