前端之家收集整理的这篇文章主要介绍了
Golang 死循环的多种写法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
package main import ( "fmt" ) func main() { endlessLoop6() } func endlessLoop1() { i := 10 for { fmt.Println("i =",i) } } func endlessLoop2() { for i,j := 1,10; i < j; i,j = i+1,j+1 { fmt.Println("i =",i," j=",j) // j - i = 9 } } func endlessLoop3() { i := 20 select { default: fmt.Println("i =",i) endlessLoop3() // 递归 } } func endlessLoop4() { Here1: fmt.Println("Here1") goto Here2 Here2: fmt.Println("Here2") goto Here1 } func endlessLoopEach5() { fmt.Println("Each5") defer endlessLoopOther5() } func endlessLoopOther5() { fmt.Println("Other5") defer endlessLoopEach5() } func endlessLoop6() { //定义一个匿名
函数,
函数的参数f是用一另外一个
函数 endlessLoop6()的
名称作为参数且另一个
函数是无参数
函数 var loop = func(f func()) { fmt.Println("endlessLoop6") f() fmt.Println("1.本行
代码永远都不会被执行") //本行上设置断点,调试运行本程序,启动和
退出本程序时,均不会进入该断点 } loop(endlessLoop6) //使用匿名
函数去递归自己,此时执行f
函数 fmt.Println("2.本行
代码永远都不会被执行") //本行上设置断点,调试运行本程序,启动和
退出本程序时,均不会进入该断点 }