Go 中的 for 循环可以使用 continue, break 进行控制,同时也可以标签
下面看一下使用标签的一个好处
示例:Go 求 N 以内的素数
package main
import (
"fmt"
)
func main() {
printPrime(10)
}
func printPrime(maxNum int) {
next:
for outer := 2; outer < maxNum; outer++ {
for inner := 2; inner < outer; inner++ {
if outer%inner == 0 {
continue next
}
}
fmt.Printf("%d\n", outer)
}
fmt.Println("Completed")
}复制
再看一下用C语言实现的(C 的 continue, break 不支持标签)
#include <stdio.h>
void printPrime(int maxNum)
{
int outer, inner;
int flag;
for (outer = 2; outer < maxNum; outer++)
{
flag = 1;
for (inner = 2; inner < outer; inner++)
{
if (outer % inner == 0)
{
flag = 0;
break;
}
}
if (flag == 1)
{
printf("%d\n", outer);
}
}
printf("Completed\n");
}
int main()
{
printPrime(10);
return 0;
}复制
可以看出,对于计算素数这个程序,使用循环使用跳转标签,可以省去如C语言 flag 这样的判断
文章转载自进击的代码,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
数据库国产化替代深化:DBA的机遇与挑战
代晓磊
1281次阅读
2025-04-27 16:53:22
2025年4月国产数据库中标情况一览:4个千万元级项目,GaussDB与OceanBase大放异彩!
通讯员
758次阅读
2025-04-30 15:24:06
国产数据库需要扩大场景覆盖面才能在竞争中更有优势
白鳝的洞穴
624次阅读
2025-04-14 09:40:20
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
526次阅读
2025-04-17 17:02:24
一页概览:Oracle GoldenGate
甲骨文云技术
488次阅读
2025-04-30 12:17:56
GoldenDB数据库v7.2焕新发布,助力全行业数据库平滑替代
GoldenDB分布式数据库
477次阅读
2025-04-30 12:17:50
优炫数据库成功入围新疆维吾尔自治区行政事业单位数据库2025年框架协议采购!
优炫软件
365次阅读
2025-04-18 10:01:22
给准备学习国产数据库的朋友几点建议
白鳝的洞穴
341次阅读
2025-05-07 10:06:14
XCOPS广州站:从开源自研之争到AI驱动的下一代数据库架构探索
韩锋频道
301次阅读
2025-04-29 10:35:54
国产数据库图谱又上新|82篇精选内容全览达梦数据库
墨天轮编辑部
283次阅读
2025-04-23 12:04:21