热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Golang

在Golang带插入式forLoop的开关柜Ori

在 Golang

带插入式 for Loop 的开关柜

Original: https://www.geeksforgeeks.org/switch-case-with-break-in-for-loop-in-golang/

Switch 语句是多路分支语句。 它提供了一种基于值(也称为表达式的情况)将执行转移到代码的不同部分的有效方法。 一个交换机中可以有各种 Switch-Case 语句。 每种情况后面都有要比较的值。 当打开的变量等于其对应的 CASE 时,该 CASE 后面的语句将一直执行,直到到达 BREAK 语句。

当到达 Break 语句时,开关终止,控制流跳转到 Switch 语句后面的下一行,并且不执行相同情况或循环中的其他后续命令。 Switch 语句最后还可以有一个可选的缺省条件,以给出要执行的缺省条件。 当所有情况都不为真时,默认情况可用于执行任务。 让我们举个例子来理解一下:

代码:

开始

// Golang Program to show the Switch
// Case with Break in For Loop
package main
import "fmt"
func main() {
forLoop:for number := 1; number < 10; number++ {
fmt.Printf("%d", number)
switch {
case number == 1:
fmt.Println("-- One")
case number == 2:
fmt.Println("-- Two")
case number == 3:
fmt.Println("-- Three")
case number == 4:
fmt.Println("-- Four")
case number == 5:
fmt.Println("-- Five")
case number == 6:
fmt.Println("-- Six")
case number > 2:
fmt.Println("-- Greater than two")
break forLoop
case number == 8:
fmt.Println("-- Eight")
case number == 9:
fmt.Println("-- Nine")
default:
fmt.Println("-- Number not identified")
}
}
}

发帖主题:Re:Колибри0.7.8.0

解释:在默认用例之前的最后一个用例中,我们使用了 Break 语句,该语句用于中断forLoop 当数字在循环中从 1 迭代到 9 时,它们将通过从顶部开始的开关箱进行有条件的测试。 例如,当 number=1 时,它将打印一个,依此类推。 只有在第一个开关箱条件不满足后,程序才检查下一个开关箱条件。 数字加 1,一旦循环遇到 7,第一个匹配的开关情况条件就是“数字>2”。

在这种情况下,我们已经应用了 Break 语句,只要 forLoop 遇到该语句,它就会从循环中断,而不执行后面的命令。 如图所示,数字 8 从未打印过,这是因为循环前面有一条 Break 语句。 我们看到,虽然数字仍然是9,而且也有条件,但是它们不会被执行,因为循环遇到它前面的 Break 语句,因此,它后面的语句不能执行。

注意:Break 语句非常重要,因为如果您不应用它,编译器将抛出错误“Label for Loop Defined and Not Used”,即使数字在 10 之后停止递增,程序也不会作为一个整体执行。因此,请记住小心使用 Break 语句。


推荐阅读
  • 1、问题背景假如,项目中遇到这样一个问题:利用FusionCharts中的JSON格式拼接双轴图,并将JSON字符串转换成JSON对象传输到前台,在页面上展示出来。2、设计源码 ... [详细]
  • 感觉比数组好用,首选。packagemainimport(fmt)mainistheentryoftheprogramfuncmain(){ ... [详细]
  • 现在要针对我们需求引入检测模型,只检测人物,然后是图像能侧立,这样人物在里面占比更多,也更清晰,也不需要检测人占比小的情况,如下是针对这个需求,用的yolov3-tiny模型训练后 ... [详细]
  • ros:cartographer(二)整体介绍
    cartographer的doc中给出了这个图。现在我还没看过源码,所以只能猜测一些内容。待看完源码后,再详细介绍这个图。直观地说,左侧 ... [详细]
  • 5分钟攻克NDK开发中javah不能反编译的问题
    网上关于javah不能反编译出.h头文件的问题的资料本来就不多,而且大多似乎已经过时,给出的几种解决方法都没有切中要害。害得我苦苦找了一天,终于修成正果。特分享如下:这是我最终 ... [详细]
  • **广播接收器是一种用于响应系统范围广播通知的组件。许多广播都是由系统发起的—例如,通知屏幕已关闭、电池电量不足或已拍摄照片的广播应用也可以发起广播—例如,通知其他应用某些数据已下载至设备,并且 ... [详细]
  • 深入探索String、StringBuffer和StringBuilder区别(源码 + 代码验证)
    String、StringBuffer和StringBuilder都是Java中用来表示字符串的。在Java中,String类是一个不可变类,任何对St ... [详细]
  • Joda-Time 学习笔记
    一Jode-Time介绍任何企业应用程序都需要处理时间问题。应用程序需要知道当前的时间点和下一个时间点,有时它们还必须计算这两个时间点之间的路径。使用JDK完成这项任务将非常痛苦和繁琐。既 ... [详细]
  • 本文实例讲述了Android调用手机拍照功能的方法。分享给大家供大家参考。具体如下:一、main.xml布局文件:android:orientation ... [详细]
  • java酒店管理系统_java酒店管理系统(源码+数据库脚本)
    【实例简介】一个很基础的Java实例,实现最基础的增删改查【实例截图】账号:01101密码:1234【核心代码】packagecom.sq ... [详细]
  • [ 原创 ]新手作品简单版音乐播放器
    为了完成别人交给的小任务,作为一个新手看了很多的视频教程,实在是难死宝宝了,好在终于找到一篇合适我的布局的关于音乐播放器布局的文章 ... [详细]
  • 我花了几个小时阅读关于argparse的教程并设法学习使用普通参数.officialdocumentation对我来说不太可读.我是Python的新手.我正在尝试编写一个可以通过以 ... [详细]
  • 第二章 基础技术
    一、运行单一实例通过创建系统命名互斥对象的方式来实现1、实现原理通过CreateMutex函数创建一个命名的互斥对象,如果对象创建成功,而且通过调用GetLastError函数获取 ... [详细]
  • 前言在我们的项目里经常会用到ViewPager+Fragment实现选项卡滑动切换的效果,ViewPager会预加载下一个Framgment的内容,这样的机制有优点也有缺点:预加载 ... [详细]
  • 转自:http:www.java265.comJavaCourse202108794.html下文是笔者通过示例的方式讲述将ArrayList转换为字符串的方法分享࿰ ... [详细]
author-avatar
英雄醉酒惜红颜_527
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有