首页 > 其他分享 >go 中break ,continue , goto, return 使用

go 中break ,continue , goto, return 使用

时间:2023-04-20 11:11:43浏览次数:29  
标签:return goto fmt break continue Println

    // break可以结束当前最近的循环,不会阻碍后面的输出,如果想结束外层的循环,可以使用标签,
    for i := 1; i <= 5; i++ {
        for j := 2; j <= 4; j++ {
        fmt.Printf("i: %v,j: %v \n",i,j) 
          if (i == 2 && j == 2) {
            break
          }
          
        }
    }
   // 标签使用
   label1:
    for i := 1; i <= 5; i++ {
        for j := 2; j <= 4; j++ {
        fmt.Printf("i: %v,j: %v \n",i,j) 
          if (i == 2 && j == 2) {
            break label1
          }
          
        }
    }

 

// 输出被6整除的数, continue结束当前最近的循环,继续执行离它最近的循环,不会阻碍后面的输出
for i := 1; i <= 100; i++ {
    if (i % 6 !=0) {
        continue
    }
    fmt.Println(i)
}
    for i := 1; i <= 5; i++ {
        for j := 2; j <= 4; j++ {
          if (i == 2 && j == 2) {
            continue
          }
          fmt.Printf("i: %v, j: %v \n", i,j)
        }
    }
    fmt.Print("ok")
}
// goto可以无条件转移到程序指定的行,一般配合条件使用,但是一般不建议使用
fmt.Println("1")
if (true) {
    goto label1
}
fmt.Println("2")
fmt.Println("3")
fmt.Println("4")
label1:
fmt.Println("5")
//return 结束当前函数,阻碍后面的输出     for i := 1; i <= 10; i++ {         for j := 2; j < 10; j++ {             fmt.Printf("i: %v, j: %v \n", i,j)             if (i == 2 && j== 2) {                 return             }         }             }     fmt.Print("ok") } 输出

i: 1, j: 2
i: 1, j: 3
i: 1, j: 4
i: 1, j: 5
i: 1, j: 6
i: 1, j: 7
i: 1, j: 8
i: 1, j: 9
i: 2, j: 2

 

标签:return,goto,fmt,break,continue,Println
From: https://www.cnblogs.com/huanhuan55/p/17336077.html

相关文章

  • C# 中break 和 continue 和 return在if语句和for循环中的区别
     break是跳出当前循环就是最近的一次循环,继续执行外循环,continue是指结束本次循环,这次循环后边的不执行了,继续最内层循环的循环break是跳到了外层循环,return则终止该方法,后边的都不执行 可以使用switch iffor进行测试......
  • break和continue关键字的使用
    break和continue关键字的使用使用范围循环中使用的作用break:switch-case、循环结构中结束当前循环continue:循环结构中结束当次循环......
  • React redux toolkit: Uncaught Error:[Immer] An immer producer returned a new...
    React在写一个购物车的reduxtoolkit时遇到了问题。核心代码如下:import{createSlice}from"@reduxjs/toolkit";constcartSlice=createSlice({name:'cart',initialState:{cartItems:[],cartItemCount:0},reducers:{......
  • #yyds干货盘点#python循环中的 break、continue 语句及 else 子句
    break 语句和C中的类似,用于跳出最近的 for 或 while 循环。循环语句支持 else 子句;for 循环中,可迭代对象中的元素全部循环完毕,或 while 循环的条件为假时,执行该子句;break 语句终止循环时,不执行该子句。请看下面这个查找素数的循环示例:>>>forninrange(2,10):.........
  • Java中的goto
    Java中的goto关键字在C/C++中,goto常被用于跳出多重循环。但goto语句的使用往往会使程序的可读性降低,所以Java不允许goto跳转。实际上,自从“goto有害论”提出后,软件开发就不建议使用goto了,但是Java中依然保留了goto这个关键字留作备用,但这个关键字没有任何作用,只是为了将来......
  • 【web 开发基础】PHP 中的goto语句的使用 -PHP 快速入门 (23)
    前言在所有的开发语言中不是都能使用goto语句,因为对goto的应用一直有争议。很多编程goto也只是作为保留关键字,比如java。支持goto的人认为goto语句使用起来比较灵活,而且有些情形能提高程序的效率。如果完全删去goto语句,有些情形反而会使程序变得过于复杂,增加一些不必要的计算量。......
  • centos7 无法启动 修复​​Internal error XFS_WANT_CORRUPTED_GOTO​报错
    InternalerrorXFS_WANT_CORRUPTED_GOTO错误前面括号中的就是磁盘名称,比如我的就是dm-0修复完reboot重启就能进系统了......
  • Java_procedure with return value(oracle)
    Java调用Oracle中有返回值的存储过程1) 在编写存储过程时,输入参数用in(如果不写默认为in),输出参数用out --编写过程,要求输入雇员编号,返回雇员姓名。 createorreplaceproceduregetNameByNo(noinnumber,nameoutvarchar2)is begin  selectenameintonamefrom......
  • 解决 dpkg 安装出错后的 Sub-process /usr/bin/dpkg returned an error code (1) 错误
    在使用dpkg-i安装.deb软件包的过程中,会出现安装失败的可能。之后无论用sudoaptinstall-forsudaptautoremove等常见的修复命令都是无效的。网络上很多解决方案都直接给出需要运行的命令,不分析原因也不说明理由。我从来不尝试这样的解决方案,除非我自己知道或是只能死马......
  • LightOJ 1348 Aladdin and the Return Journey (树链剖分)
    树链剖分模板题。最近一直有比赛。。好长时间没写了。明显生疏了。。找个模板题熟悉一下。代码如下:#include<iostream>#include<string.h>#include<math.h>#include<queue>#include<algorithm>#include<stdlib.h>#include<map>#include<set>#include......