Go语言编程基础 流程控制语句(一)

for

Go只有一种循环结构:for循环
基本的for循环由三部分组成,它们用分号隔开:

  • 初始化语句:在第一次迭代前执行
  • 条件表达式:在每次迭代前求值
  • 后置语句:在每次迭代的结尾执行

初始化语句通常为一条短变量声明,该变量声明仅在for语句的作用域中可见。

一旦条件表达式的布尔值为false,循环迭代就是终止。
Go的for语句后面没有小括号,大括号{}是必须的。

package main

import "fmt"

func main() {

  for i := 0 ; i < 10; i++ {
    fmt.Println(i)
  }
}

for循环的初始化语句与后置语句都是可选的。

package main

import "fmt"

func main()  {

  i := 0
  for ;i < 10; {
    fmt.Println(i)
    i++
  }
}

for为Go中的"while"

可以将for中的分号去掉,因为C的while在Go中名为for。

package main

import "fmt"

func main()  {
  var limit = 10
  var i = 0
  for i < limit {
    fmt.Println(i)
    i++;
  }
}

无限循环

for如果省略循环条件,就会无限循环。

package main

import "fmt"
func main()  {
  for{
    fmt.Println("hhh")
  }
}

if

Go的if与for类似,表达式外无需小括号(),大括号{}是必须的。

package main

import "fmt"

func main()  {
  i := 10
  if i > 5 {
    fmt.Println("ssss")
  }
  fmt.Println("siiio")
}

if的简短语句

与for相同,if语句可以在条件表达式之前执行一个简单的语句。
该语句声明的变量作用域仅在if之内。

package main

import "fmt"

func main()  {
  if i := 1; i < 10{
    fmt.Println("sss")
  }
  fmt.Println("ooo")
}

if与else

在if的简短语句中声明的变量同样可以在任何对应的else块中使用。

package main

import "fmt"

func main()  {

  if i := 1; i > 10 {
    fmt.Println("large")
  } else {
    i = 999
    fmt.Println("small")
    fmt.Println(i)
  }
}

学习源:Go指南

猜你喜欢

转载自blog.csdn.net/qq_32165041/article/details/83825921
今日推荐