ps做游戏下载网站有哪些内容,网站建设中企,小说主角重生之后做网站,开发网站监控平台第8天#xff1a;控制结构 - 循环
在Go语言中#xff0c;循环是一种基本的控制结构#xff0c;用于重复执行一段代码。今天我们将深入了解Go语言中的for循环#xff0c;包括它的各种用法、语法结构、以及如何在实践中有效地应用循环。
1. for 循环的基本概念
for循环是G…第8天控制结构 - 循环
在Go语言中循环是一种基本的控制结构用于重复执行一段代码。今天我们将深入了解Go语言中的for循环包括它的各种用法、语法结构、以及如何在实践中有效地应用循环。
1. for 循环的基本概念
for循环是Go语言中唯一的循环结构功能强大且灵活。它可以用于执行代码块多次直到满足特定条件为止。
1.1 for 循环的基本结构
for循环的基本语法结构如下
for initialization; condition; post {// 循环体代码
}initialization: 初始化语句在循环开始前执行一次。condition: 循环条件只有当该条件为true时循环才会继续执行。post: 每次循环结束后执行的语句通常用于更新计数器。
1.2 示例代码
下面是一个使用for循环打印数字1到10的简单示例。
package mainimport fmtfunc main() {for i : 1; i 10; i {fmt.Println(i)}
}1.3 代码执行流程图 #mermaid-svg-PAYQCidSj2RgUFsX {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-PAYQCidSj2RgUFsX .error-icon{fill:#552222;}#mermaid-svg-PAYQCidSj2RgUFsX .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-PAYQCidSj2RgUFsX .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-PAYQCidSj2RgUFsX .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-PAYQCidSj2RgUFsX .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-PAYQCidSj2RgUFsX .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-PAYQCidSj2RgUFsX .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-PAYQCidSj2RgUFsX .marker{fill:#333333;stroke:#333333;}#mermaid-svg-PAYQCidSj2RgUFsX .marker.cross{stroke:#333333;}#mermaid-svg-PAYQCidSj2RgUFsX svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-PAYQCidSj2RgUFsX .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-PAYQCidSj2RgUFsX .cluster-label text{fill:#333;}#mermaid-svg-PAYQCidSj2RgUFsX .cluster-label span{color:#333;}#mermaid-svg-PAYQCidSj2RgUFsX .label text,#mermaid-svg-PAYQCidSj2RgUFsX span{fill:#333;color:#333;}#mermaid-svg-PAYQCidSj2RgUFsX .node rect,#mermaid-svg-PAYQCidSj2RgUFsX .node circle,#mermaid-svg-PAYQCidSj2RgUFsX .node ellipse,#mermaid-svg-PAYQCidSj2RgUFsX .node polygon,#mermaid-svg-PAYQCidSj2RgUFsX .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-PAYQCidSj2RgUFsX .node .label{text-align:center;}#mermaid-svg-PAYQCidSj2RgUFsX .node.clickable{cursor:pointer;}#mermaid-svg-PAYQCidSj2RgUFsX .arrowheadPath{fill:#333333;}#mermaid-svg-PAYQCidSj2RgUFsX .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-PAYQCidSj2RgUFsX .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-PAYQCidSj2RgUFsX .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-PAYQCidSj2RgUFsX .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-PAYQCidSj2RgUFsX .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-PAYQCidSj2RgUFsX .cluster text{fill:#333;}#mermaid-svg-PAYQCidSj2RgUFsX .cluster span{color:#333;}#mermaid-svg-PAYQCidSj2RgUFsX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-PAYQCidSj2RgUFsX :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Yes No 开始 初始化 i1 判断 i 10 输出 i 更新 ii1 结束 2. for 循环的其他用法
Go语言的for循环不仅限于一种形式以下是几种常见的用法。
2.1 经典的for 循环
上面的示例已经展示了经典的for循环。除了这种形式外Go语言还有一些变种。
2.2 只使用条件的for 循环
可以省略初始化和后缀语句仅使用条件形成无限循环。
package mainimport fmtfunc main() {i : 1for i 10 {fmt.Println(i)i}
}2.3 无限循环
如果只写for而没有任何条件就形成了一个无限循环。
package mainimport fmtfunc main() {i : 1for {if i 10 {break // 退出循环}fmt.Println(i)i}
}2.4 代码执行流程图 #mermaid-svg-HpwxzkDE7Cw8YtCz {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-HpwxzkDE7Cw8YtCz .error-icon{fill:#552222;}#mermaid-svg-HpwxzkDE7Cw8YtCz .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-HpwxzkDE7Cw8YtCz .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-HpwxzkDE7Cw8YtCz .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-HpwxzkDE7Cw8YtCz .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-HpwxzkDE7Cw8YtCz .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-HpwxzkDE7Cw8YtCz .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-HpwxzkDE7Cw8YtCz .marker{fill:#333333;stroke:#333333;}#mermaid-svg-HpwxzkDE7Cw8YtCz .marker.cross{stroke:#333333;}#mermaid-svg-HpwxzkDE7Cw8YtCz svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-HpwxzkDE7Cw8YtCz .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-HpwxzkDE7Cw8YtCz .cluster-label text{fill:#333;}#mermaid-svg-HpwxzkDE7Cw8YtCz .cluster-label span{color:#333;}#mermaid-svg-HpwxzkDE7Cw8YtCz .label text,#mermaid-svg-HpwxzkDE7Cw8YtCz span{fill:#333;color:#333;}#mermaid-svg-HpwxzkDE7Cw8YtCz .node rect,#mermaid-svg-HpwxzkDE7Cw8YtCz .node circle,#mermaid-svg-HpwxzkDE7Cw8YtCz .node ellipse,#mermaid-svg-HpwxzkDE7Cw8YtCz .node polygon,#mermaid-svg-HpwxzkDE7Cw8YtCz .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-HpwxzkDE7Cw8YtCz .node .label{text-align:center;}#mermaid-svg-HpwxzkDE7Cw8YtCz .node.clickable{cursor:pointer;}#mermaid-svg-HpwxzkDE7Cw8YtCz .arrowheadPath{fill:#333333;}#mermaid-svg-HpwxzkDE7Cw8YtCz .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-HpwxzkDE7Cw8YtCz .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-HpwxzkDE7Cw8YtCz .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-HpwxzkDE7Cw8YtCz .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-HpwxzkDE7Cw8YtCz .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-HpwxzkDE7Cw8YtCz .cluster text{fill:#333;}#mermaid-svg-HpwxzkDE7Cw8YtCz .cluster span{color:#333;}#mermaid-svg-HpwxzkDE7Cw8YtCz div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-HpwxzkDE7Cw8YtCz :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} No Yes 开始 初始化 i1 判断 i 10 输出 i 更新 ii1 结束 3. 嵌套循环
程序中可以将一个for循环嵌套在另一个for循环内部。嵌套循环可以用来处理多维数据结构。
3.1 示例代码
以下示例展示了如何使用嵌套循环打印乘法表。
package mainimport fmtfunc main() {for i : 1; i 9; i {for j : 1; j 9; j {fmt.Printf(%d x %d %d\t, i, j, i*j)}fmt.Println()}
}3.2 代码执行流程图 #mermaid-svg-lQK2X71ZiSb6JYVy {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-lQK2X71ZiSb6JYVy .error-icon{fill:#552222;}#mermaid-svg-lQK2X71ZiSb6JYVy .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-lQK2X71ZiSb6JYVy .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-lQK2X71ZiSb6JYVy .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-lQK2X71ZiSb6JYVy .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-lQK2X71ZiSb6JYVy .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-lQK2X71ZiSb6JYVy .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-lQK2X71ZiSb6JYVy .marker{fill:#333333;stroke:#333333;}#mermaid-svg-lQK2X71ZiSb6JYVy .marker.cross{stroke:#333333;}#mermaid-svg-lQK2X71ZiSb6JYVy svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-lQK2X71ZiSb6JYVy .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-lQK2X71ZiSb6JYVy .cluster-label text{fill:#333;}#mermaid-svg-lQK2X71ZiSb6JYVy .cluster-label span{color:#333;}#mermaid-svg-lQK2X71ZiSb6JYVy .label text,#mermaid-svg-lQK2X71ZiSb6JYVy span{fill:#333;color:#333;}#mermaid-svg-lQK2X71ZiSb6JYVy .node rect,#mermaid-svg-lQK2X71ZiSb6JYVy .node circle,#mermaid-svg-lQK2X71ZiSb6JYVy .node ellipse,#mermaid-svg-lQK2X71ZiSb6JYVy .node polygon,#mermaid-svg-lQK2X71ZiSb6JYVy .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-lQK2X71ZiSb6JYVy .node .label{text-align:center;}#mermaid-svg-lQK2X71ZiSb6JYVy .node.clickable{cursor:pointer;}#mermaid-svg-lQK2X71ZiSb6JYVy .arrowheadPath{fill:#333333;}#mermaid-svg-lQK2X71ZiSb6JYVy .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-lQK2X71ZiSb6JYVy .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-lQK2X71ZiSb6JYVy .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-lQK2X71ZiSb6JYVy .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-lQK2X71ZiSb6JYVy .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-lQK2X71ZiSb6JYVy .cluster text{fill:#333;}#mermaid-svg-lQK2X71ZiSb6JYVy .cluster span{color:#333;}#mermaid-svg-lQK2X71ZiSb6JYVy div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-lQK2X71ZiSb6JYVy :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Yes Yes No No 开始 初始化 i1 判断 i 9 初始化 j1 判断 j 9 输出 i, j 的乘积 更新 jj1 更新 ii1 结束 4. 使用continue和break
在循环中我们可以使用continue和break语句来控制循环的执行。
4.1 break 语句
break语句用于立即退出当前循环。
package mainimport fmtfunc main() {for i : 1; i 10; i {if i 5 {break // 当 i 等于 5 时退出循环}fmt.Println(i)}
}4.2 continue 语句
continue语句用于跳过当前迭代中的剩余代码并开始下一次循环。
package mainimport fmtfunc main() {for i : 1; i 10; i {if i%2 0 {continue // 跳过偶数}fmt.Println(i) // 仅打印奇数}
}4.3 代码执行流程图break #mermaid-svg-rAzuBAF42mdwtdJZ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-rAzuBAF42mdwtdJZ .error-icon{fill:#552222;}#mermaid-svg-rAzuBAF42mdwtdJZ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-rAzuBAF42mdwtdJZ .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-rAzuBAF42mdwtdJZ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-rAzuBAF42mdwtdJZ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-rAzuBAF42mdwtdJZ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-rAzuBAF42mdwtdJZ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-rAzuBAF42mdwtdJZ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-rAzuBAF42mdwtdJZ .marker.cross{stroke:#333333;}#mermaid-svg-rAzuBAF42mdwtdJZ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-rAzuBAF42mdwtdJZ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-rAzuBAF42mdwtdJZ .cluster-label text{fill:#333;}#mermaid-svg-rAzuBAF42mdwtdJZ .cluster-label span{color:#333;}#mermaid-svg-rAzuBAF42mdwtdJZ .label text,#mermaid-svg-rAzuBAF42mdwtdJZ span{fill:#333;color:#333;}#mermaid-svg-rAzuBAF42mdwtdJZ .node rect,#mermaid-svg-rAzuBAF42mdwtdJZ .node circle,#mermaid-svg-rAzuBAF42mdwtdJZ .node ellipse,#mermaid-svg-rAzuBAF42mdwtdJZ .node polygon,#mermaid-svg-rAzuBAF42mdwtdJZ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-rAzuBAF42mdwtdJZ .node .label{text-align:center;}#mermaid-svg-rAzuBAF42mdwtdJZ .node.clickable{cursor:pointer;}#mermaid-svg-rAzuBAF42mdwtdJZ .arrowheadPath{fill:#333333;}#mermaid-svg-rAzuBAF42mdwtdJZ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-rAzuBAF42mdwtdJZ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-rAzuBAF42mdwtdJZ .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-rAzuBAF42mdwtdJZ .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-rAzuBAF42mdwtdJZ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-rAzuBAF42mdwtdJZ .cluster text{fill:#333;}#mermaid-svg-rAzuBAF42mdwtdJZ .cluster span{color:#333;}#mermaid-svg-rAzuBAF42mdwtdJZ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-rAzuBAF42mdwtdJZ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Yes Yes No No 开始 初始化 i1 判断 i 10 判断 i 5 退出循环 输出 i 更新 ii1 结束 4.4 代码执行流程图continue #mermaid-svg-J9rOWVliu8ofzsf8 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-J9rOWVliu8ofzsf8 .error-icon{fill:#552222;}#mermaid-svg-J9rOWVliu8ofzsf8 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-J9rOWVliu8ofzsf8 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-J9rOWVliu8ofzsf8 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-J9rOWVliu8ofzsf8 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-J9rOWVliu8ofzsf8 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-J9rOWVliu8ofzsf8 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-J9rOWVliu8ofzsf8 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-J9rOWVliu8ofzsf8 .marker.cross{stroke:#333333;}#mermaid-svg-J9rOWVliu8ofzsf8 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-J9rOWVliu8ofzsf8 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-J9rOWVliu8ofzsf8 .cluster-label text{fill:#333;}#mermaid-svg-J9rOWVliu8ofzsf8 .cluster-label span{color:#333;}#mermaid-svg-J9rOWVliu8ofzsf8 .label text,#mermaid-svg-J9rOWVliu8ofzsf8 span{fill:#333;color:#333;}#mermaid-svg-J9rOWVliu8ofzsf8 .node rect,#mermaid-svg-J9rOWVliu8ofzsf8 .node circle,#mermaid-svg-J9rOWVliu8ofzsf8 .node ellipse,#mermaid-svg-J9rOWVliu8ofzsf8 .node polygon,#mermaid-svg-J9rOWVliu8ofzsf8 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-J9rOWVliu8ofzsf8 .node .label{text-align:center;}#mermaid-svg-J9rOWVliu8ofzsf8 .node.clickable{cursor:pointer;}#mermaid-svg-J9rOWVliu8ofzsf8 .arrowheadPath{fill:#333333;}#mermaid-svg-J9rOWVliu8ofzsf8 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-J9rOWVliu8ofzsf8 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-J9rOWVliu8ofzsf8 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-J9rOWVliu8ofzsf8 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-J9rOWVliu8ofzsf8 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-J9rOWVliu8ofzsf8 .cluster text{fill:#333;}#mermaid-svg-J9rOWVliu8ofzsf8 .cluster span{color:#333;}#mermaid-svg-J9rOWVliu8ofzsf8 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-J9rOWVliu8ofzsf8 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Yes Yes No No 开始 初始化 i1 判断 i 10 判断 i%2 0 跳过当前循环 更新 ii1 输出 i 更新 ii1 结束 5. 实践案例
5.1 计算阶乘
通过for循环计算一个给定数字的阶乘。
package mainimport fmtfunc main() {var n intfmt.Print(请输入一个非负整数: )fmt.Scan(n)factorial : 1for i : 1; i n; i {factorial * i}fmt.Printf(%d 的阶乘是: %d\n, n, factorial)
}5.2 斐波那契数列
使用循环生成斐波那契数列的前N项。
package mainimport fmtfunc main() {var n intfmt.Print(请输入斐波那契数列的项数: )fmt.Scan(n)a, b : 0, 1fmt.Print(斐波那契数列: )for i : 0; i n; i {fmt.Print(a, )a, b b, ab // 计算下一个数}fmt.Println()
}5.3 代码执行流程图阶乘 #mermaid-svg-qki3vEGy7JlJfF9d {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-qki3vEGy7JlJfF9d .error-icon{fill:#552222;}#mermaid-svg-qki3vEGy7JlJfF9d .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-qki3vEGy7JlJfF9d .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-qki3vEGy7JlJfF9d .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-qki3vEGy7JlJfF9d .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-qki3vEGy7JlJfF9d .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-qki3vEGy7JlJfF9d .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-qki3vEGy7JlJfF9d .marker{fill:#333333;stroke:#333333;}#mermaid-svg-qki3vEGy7JlJfF9d .marker.cross{stroke:#333333;}#mermaid-svg-qki3vEGy7JlJfF9d svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-qki3vEGy7JlJfF9d .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-qki3vEGy7JlJfF9d .cluster-label text{fill:#333;}#mermaid-svg-qki3vEGy7JlJfF9d .cluster-label span{color:#333;}#mermaid-svg-qki3vEGy7JlJfF9d .label text,#mermaid-svg-qki3vEGy7JlJfF9d span{fill:#333;color:#333;}#mermaid-svg-qki3vEGy7JlJfF9d .node rect,#mermaid-svg-qki3vEGy7JlJfF9d .node circle,#mermaid-svg-qki3vEGy7JlJfF9d .node ellipse,#mermaid-svg-qki3vEGy7JlJfF9d .node polygon,#mermaid-svg-qki3vEGy7JlJfF9d .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-qki3vEGy7JlJfF9d .node .label{text-align:center;}#mermaid-svg-qki3vEGy7JlJfF9d .node.clickable{cursor:pointer;}#mermaid-svg-qki3vEGy7JlJfF9d .arrowheadPath{fill:#333333;}#mermaid-svg-qki3vEGy7JlJfF9d .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-qki3vEGy7JlJfF9d .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-qki3vEGy7JlJfF9d .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-qki3vEGy7JlJfF9d .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-qki3vEGy7JlJfF9d .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-qki3vEGy7JlJfF9d .cluster text{fill:#333;}#mermaid-svg-qki3vEGy7JlJfF9d .cluster span{color:#333;}#mermaid-svg-qki3vEGy7JlJfF9d div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-qki3vEGy7JlJfF9d :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Yes No 开始 用户输入 n 初始化 factorial1 初始化 i1 判断 i n 计算 factorial * i 更新 ii1 输出 factorial 结束 5.4 代码执行流程图斐波那契数列 #mermaid-svg-RmswOWEuoeVpKEIf {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-RmswOWEuoeVpKEIf .error-icon{fill:#552222;}#mermaid-svg-RmswOWEuoeVpKEIf .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-RmswOWEuoeVpKEIf .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-RmswOWEuoeVpKEIf .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-RmswOWEuoeVpKEIf .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-RmswOWEuoeVpKEIf .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-RmswOWEuoeVpKEIf .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-RmswOWEuoeVpKEIf .marker{fill:#333333;stroke:#333333;}#mermaid-svg-RmswOWEuoeVpKEIf .marker.cross{stroke:#333333;}#mermaid-svg-RmswOWEuoeVpKEIf svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-RmswOWEuoeVpKEIf .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-RmswOWEuoeVpKEIf .cluster-label text{fill:#333;}#mermaid-svg-RmswOWEuoeVpKEIf .cluster-label span{color:#333;}#mermaid-svg-RmswOWEuoeVpKEIf .label text,#mermaid-svg-RmswOWEuoeVpKEIf span{fill:#333;color:#333;}#mermaid-svg-RmswOWEuoeVpKEIf .node rect,#mermaid-svg-RmswOWEuoeVpKEIf .node circle,#mermaid-svg-RmswOWEuoeVpKEIf .node ellipse,#mermaid-svg-RmswOWEuoeVpKEIf .node polygon,#mermaid-svg-RmswOWEuoeVpKEIf .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-RmswOWEuoeVpKEIf .node .label{text-align:center;}#mermaid-svg-RmswOWEuoeVpKEIf .node.clickable{cursor:pointer;}#mermaid-svg-RmswOWEuoeVpKEIf .arrowheadPath{fill:#333333;}#mermaid-svg-RmswOWEuoeVpKEIf .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-RmswOWEuoeVpKEIf .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-RmswOWEuoeVpKEIf .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-RmswOWEuoeVpKEIf .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-RmswOWEuoeVpKEIf .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-RmswOWEuoeVpKEIf .cluster text{fill:#333;}#mermaid-svg-RmswOWEuoeVpKEIf .cluster span{color:#333;}#mermaid-svg-RmswOWEuoeVpKEIf div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-RmswOWEuoeVpKEIf :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} Yes No 开始 用户输入 n 初始化 a0, b1 初始化 i0 判断 i n 输出 a a, b b, ab 更新 ii1 结束 6. 注意事项
使用for循环时要注意设置合适的循环条件避免出现无限循环。在嵌套循环中确保内层循环的条件独立管理以免影响外层循环的结果。break和continue在使用时要合理规划以免影响程序的流畅性。
7. 练习题
编写一个程序计算1到N的平方和。使用循环找出100以内的所有素数。编写程序打印一个矩形的星号图案行和列的数量由用户输入。求斐波那契数列的和直到某个数达到N。
8. 总结
在本章中我们详细探讨了Go语言中的for循环展示了其基本用法、常见变种以及如何灵活使用continue和break控制循环的执行。通过代码示例和流程图帮助大家更好地理解循环的工作原理。掌握这些内容后你将能够熟练地在Go程序中应用循环结构为后续的学习奠定良好的基础。
附加资源
Go语言官方文档 - 控制结构Go语言学习资源与书籍 怎么样今天的内容还满意吗再次感谢观众老爷的观看关注下方GZH回复666送您价值199的AI大礼包。最后祝您早日实现财务自由还请给个赞谢谢