扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍了go语言中for的形式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联建站2013年至今,是专业互联网技术服务公司,拥有项目成都做网站、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元宜都做网站,已为上家服务,为宜都各地企业和个人服务,联系电话:18982081108
在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的形式有哪些”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流