go中关于continue和break的小总结

go中continue和break的区别

 

在for循环中

continue用于跳过继续的操作,直接从下一个循环开始

break用于直接跳出for循环

//当i==3时,不输出;当i==5时,跳出循环;会依次打印0,1,2,4
for i:=0;;i++ {
    if i%3==0{
        continue
    }
    if i%5==0{
        break
    }
    fmt.Println(i)
}

在select中只有break用法;break跳出当前case

 

在for select中

continue从下一个循环开始,不执行其余任何操作

break不可跳出循环,只跳出当前case,然后执行select块下面的代码

break可以使用loop标签跳出for循环

 

	t1 := time.NewTicker(time.Second * 4)
	t2 := time.NewTicker(time.Second * 5)
	t3 := time.NewTicker(time.Second * 6)
	t4 := time.NewTicker(time.Second * 7)
out:
	for {
		fmt.Println("start")
		select {
		case <-t1.C: //输出start,1,end
			fmt.Println("1")
		case <-t2.C: //输出start,2;跳出当前for循环,执行下一个循环,不打印end
			fmt.Println("2")
			continue
			fmt.Println("22")
		case <-t3.C: //输出start,3,end;跳出当前select,打印end
			fmt.Println("3")
			break
			fmt.Println("33")
		case <-t4.C: //输出start,4;跳出for循环
			fmt.Println("4")
			break out
			fmt.Println("44")
		}
		fmt.Println("end")
	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是一个简单的Go语言弹球小游戏: package main import ( "fmt" "time" ) func main() { var x, y int fmt.Println("欢迎来到弹球小游戏!") for { fmt.Println("请输入x坐标:") fmt.Scan(&x) fmt.Println("请输入y坐标:") fmt.Scan(&y) if x == 0 || y == 0 { fmt.Println("游戏结束!") break } // 延时1秒 time.Sleep(time.Second) // 判断x和y坐标是否在边界内 if x < 0 || x > 9 || y < 0 || y > 9 { fmt.Println("坐标超出边界,请重新输入!") continue } // 判断是否碰到边界 if x == 0 || x == 9 || y == 0 || y == 9 { fmt.Println("你碰到了边界,游戏结束!") break } // 判断是否碰到障碍物 if (x == 1 && y == 1) || (x == 8 && y == 1) || (x == 1 && y == 8) || (x == 8 && y == 8) { fmt.Println("你碰到了障碍物,游戏结束!") break } fmt.Println("你的坐标是:", x, y) } } ### 回答2: 弹球小游戏是一种经典的游戏,在开发可以使用Go语言来实现。Go语言是一门简洁、高效的编程语言,具有并发性能优秀的特点,非常适合用于开发小型游戏。 在Go语言,可以使用一些库来实现弹球小游戏的功能,例如使用`github.com/nsf/termbox-go`库来创建一个终端界面,并处理用户输入。此外,还可以使用Go语言的内置功能来处理游戏的物理引擎和游戏逻辑。 游戏的主要功能包括: - 创建一个终端界面,并初始化游戏场景。 - 在界面绘制一个球和一个挡板,分别代表弹球和玩家控制的挡板。 - 实现球在界面的移动和碰撞反弹效果。 - 实现挡板的移动,通过控制挡板来夹击球。 - 添加得分系统和游戏结束判断。 游戏的具体逻辑如下: 1. 初始化终端界面,并绘制游戏场景,球和挡板的位置。 2. 不断监听玩家输入,根据输入控制挡板的左右移动。 3. 更新球的位置,判断球是否与边界或挡板发生碰撞。如果碰撞,根据碰撞位置和角度来计算反弹的方向和角度。 4. 当球与底部边界碰撞时,游戏结束,显示得分。 5. 根据游戏规则,计算得分并显示。 6. 重复步骤2到5,直到玩家主动退出游戏。 通过使用Go语言的相关库和语言特性,可以很容易地实现一个简单而有趣的弹球小游戏。 ### 回答3: 弹球小游戏是一种经典的游戏,通过控制一个滑板反弹球体,以尽可能长时间保持球体不掉落而获得得分。下面是用Go语言编写一个简单的弹球小游戏的步骤。 首先,我们需要导入必要的Go包。例如,使用`fmt`包来处理输入和输出,使用`github.com/nsf/termbox-go`包来处理终端界面。 然后,我们需要定义游戏所需的结构体和变量。这可能包括球体的位置和速度,滑板的位置,分数和游戏状态等。 接下来,我们需要初始化游戏界面,包括设置终端的大小和绘制游戏元素,如球体和滑板。 然后,我们需要编写游戏的主循环。在每一次循环,我们需要处理用户的输入(例如通过键盘控制滑板的移动),更新游戏元素的状态(例如更新球体的位置)并重新绘制游戏界面。 在游戏的主循环,我们还需要处理与边界的碰撞检测,如果球体触碰到边界,则需要改变球体的速度方向。 我们还需要处理球体与滑板的碰撞检测。如果球体触碰到滑板,则需要改变球体的速度方向。 在游戏的主循环,我们还需要处理游戏的结束条件,例如当球体掉落到底部时,游戏结束,显示最终的得分。 最后,我们需要运行游戏的主循环并保持运行,直到游戏结束。在游戏结束后,我们可以处理用户的输入,询问是否重新开始游戏。 通过以上步骤,我们就可以用Go语言写一个简单的弹球小游戏了。当然,这只是一个简单的思路,实际的实现过程还需要一些其他的具体细节和处理逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值