继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

go语言for的三种形式

安卓开发学习视频
关注TA
已关注
手记 299
粉丝 78
获赞 601

在Go中其他循环遍历的控制语句,唯有for。而for同样也是比较灵活的:

import "fmt"

func main() {
    i := 1
    for {
         i++
         if i>3{
             break
             }
             fmt.Printf(a)
    }
    fmt.Printf("OVER")
##2
package main
import "fmt"
func main() {
    // 最基本的一种,单一条件循环
    // 这个可以代替其他语言的while循环
    i := 1
    for i <= 3 {
        fmt.Println(i)
        i = i + 1
    }

    // 经典的循环条件初始化/条件判断/循环后条件变化
##3
package main
import "fmt"
func main() {
    // 最基本的一种,单一条件循环
    // 这个可以代替其他语言的while循环
    j:= 1
    for j := 7; j <= 9; j++ {
        fmt.Println(j)
    }

    // 无条件的for循环是死循环,除非你使用break跳出循环或者
    // 使用return从函数返回
    for {
        fmt.Println("loop")
        break
    }
}

循环控制语句可以控制循环体内语句的执行过程包含:

break语句:经常用于中断当前for循环或者跳出switch语句

continue语句:跳过当前循环的剩余语句,然后继续进行下一轮循环

goto语句:将控制转移到被标记的语句

egg:break

package main
import "fmt"
func main() {
LABEL1:
    for {
        for i := 0; i < 10; i++ {
            if i > 3 {
                break LABEL1
            }
        }
    }
    fmt.Printf("死循环结束了.....\n")
}

egg:goto:

package main
import "fmt"
func main() {

    for {
        for i := 0; i < 10; i++ {
            if i > 3 {
                goto LABEL1
            }
        }
    }
LABEL1:
    fmt.Printf("死循环结束了.....\n")
}package mainimport "fmt"func main() {    for i := 1; i < 10; i++ {        for {            goto LABEL1        }    }LABEL1:    fmt.Printf("死循环结束了.....\n")}

egg:continue:

package main
import "fmt"
func main() {
LABEL1:
    for i := 0; i < 10; i++ {
        for {
            continue LABEL1  //内层的无限循环,通过外层的有限循环结束控制
        }
    }
    fmt.Printf("死循环结束了.....\n")
}

**********************************

如过循环中条件语句永远不为 false 则会进行无限循环,我们可以通过 for 循环语句中只设置一个条件表达式来执行无限循环:

package main

import "fmt"

func main(){

   for {   //这里可以写true或者省略

    fmt.Printf("这是死循环哦.......\n")

     }

}

for 循环中,执行 continue 语句会触发for增量语句的执行


package mainimport "fmt"func main() {   /* 定义局部变量 */   var a int = 10   /* for 循环 */   for a < 20 {      if a == 15 {         /* 跳过此次循环 */         a = a + 1;         continue;      }      fmt.Printf("a 的值为 : %d\n", a);      a++;        }  }

Go 语言的 goto 语句可以无条件地转移到过程中指定的行。

goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

package mainimport "fmt"func main() {   /* 定义局部变量 */   var a int = 10   /* 循环 */   LOOP: for a < 20 {      if a == 15 {         /* 跳过迭代 */         a = a + 1         goto LOOP      }      fmt.Printf("a的值为 : %d\n", a)      a++        }  }


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP