在不少实际问题中有许多具有规律性的重复性操作,因此在程序中需要重复执行某些语句,Go语言提供了以下几种类型循环处理语句:
1.for循环
重复执行语句块
for循环是一个循环控制结构,可以执行指定次数的循环
代码1:计算1到10的数字之和
代码2:在sum小于10的时候计算sum自相加后的值(即1+2+3+4+5=10+6=16)
总结:
(1)Go语言开发工具在编译代码时,会自动将其中的for ; sum<=10;中的两个分号自动删除
(2)init和post参数是可选的,我们可以直接省略他,类似于while语句(如果不删除init和post,应该为for i :=0;i<=10;i++)
代码3:无限循环:
代码4:For-each range 循环
这种格式的循环可以对字符串、数组、切片等进行迭代输出元素。
2.Go 语言循环嵌套
代码如下:使用循环嵌套来输出2到100间的素数
说明:
(1)简单来说该代码主要是用i除以j,如果i除以j有余数,那么说明i不是素数(当然了,j是有范围的,即j<=(i/j))
(2)<1>当i=2,j=2时,j>1,则不进行for语句里面的内容,直接输出是2是素数
<2>当i=3,j=2,j>1.5,则不进行for语句里面的内容,直接输出3是素数
<3>当i=4,j=2,j<=2,进行for语句里面的内容,判断i%j(4%2==0),只要i除以j可以整除,那么说明该i不是素数
<4>接下来的过程循环即可
(3)这道题我想了很久,之前有碰到过这样的题,而且用数学思维也很清楚的知道素数应该怎么算,但是真正模仿别人代码的时候,反而有很多地方卡住了,我的解题思路希望对你们有所帮助:我首先仔细看每个语句的意思,之后分类,根据大括号就可以分,然后再一些点上面添加print语句,通过输出判断执行该句后的变量的值的变化情况
3.Go语言break语句
代码1:在变量a大于15的时候跳出循环
代码2:以下实例有多重循环,演示了使用标记和不使用标记的区别:
说明:第二个re-break中,break-re直接将re后的代码全部退出循环了
4.Go语言continue语句
代码1:在变量a等于15的时候跳过本次循环执行下一次循环
总结:
(1)在循环中的a=a+1不能省略,如果省略了,那么a将没有值了,故无法进行之后的循环。
(2)该代码主要当执行a==15时,首先a=a+1=16,然后跳出该次循环,即该if语句以及for语句之后的内容不再执行,而是重新开始当a=16
代码2:以下实例有多重循环,演示了使用标记和不使用标记的区别:
不使用标记:
使用标记:
总结:使用标记后退出该次循环(即最大的循环,i=1/2/3的时候)
5.Go语言的goto语句
Go 语言的 goto 语句可以无条件地转移到过程中指定的行。
goto 语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
但是,在结构化程序设计中一般不主张使用 goto 语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。
代码:
在变量a等于15的时候跳出本次循环并回到循环的开始语句LOOP处
|
请发表评论