温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

go语言中for的形式有哪些

发布时间:2021-11-20 15:58:31 来源:亿速云 阅读:109 作者:小新 栏目:编程语言

这篇文章主要介绍了go语言中for的形式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

在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 main
import "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++     
   }  }

感谢你能够认真阅读完这篇文章,希望小编分享的“go语言中for的形式有哪些”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI