热门标签 | 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 语句。


推荐阅读
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 本文探讨了如何通过预处理器开关选择不同的类实现,并解决在特定情况下遇到的链接器错误。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • 社交网络中的级联行为 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 在 Android 开发中,通过 Intent 启动 Activity 或 Service 时,可以使用 putExtra 方法传递数据。接收方可以通过 getIntent().getExtras() 获取这些数据。本文将介绍如何使用 RoboGuice 框架简化这一过程,特别是 @InjectExtra 注解的使用。 ... [详细]
  • #print(34or4 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
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社区 版权所有