Go 语言循环语句
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。
以下为大多编程语言循环程序的流程图:
Go 语言提供了以下几种类型循环处理语句:
| 循环类型 | 描述 |
|---|---|
| for 循环 | 重复执行语句块 |
| 循环嵌套 | 在 for 循环中嵌套一个或多个 for 循环 |
循环控制语句
循环控制语句可以控制循环体内语句的执行过程。
GO 语言支持以下几种循环控制语句:
| 控制语句 | 描述 |
|---|---|
| break 语句 | 经常用于中断当前 for 循环或跳出 switch 语句 |
| continue 语句 | 跳过当前循环的剩余语句,然后继续进行下一轮循环。 |
| goto 语句 | 将控制转移到被标记的语句。 |
无限循环
如果循环中条件语句永远不为 false 则会进行无限循环,我们可以通过 for 循环语句中只设置一个条件表达式来执行无限循环:
实例
package main
import "fmt"
func main() {
for true {
fmt.Printf("这是无限循环。\n");
}
}
import "fmt"
func main() {
for true {
fmt.Printf("这是无限循环。\n");
}
}
Smith
189***65043@163.com
输出 1-100 素数:
package main import "fmt" func main() { var C, c int//声明变量 C=1 /*这里不写入FOR循环是因为For语句执行之初会将C的值变为1,当我们goto A时for语句会重新执行(不是重新一轮循环)*/ A: for C < 100 { C++ //C=1不能写入for这里就不能写入 for c=2; c < C ; c++ { if C%c==0 { goto A //若发现因子则不是素数 } } fmt.Println(C,"是素数") } }Smith
189***65043@163.com
Younger
yan***ng_cheer@163.com
Go 语言实现99乘法表
package main import "fmt" func main() { for i := 1; i <= 9; i++ { // i 控制行,以及计算的最大值 for j := 1; j <= i; j++ { // j 控制每行的计算个数 fmt.Printf("%d*%d=%d ", j, i, j*i) } fmt.Println("") } }Younger
yan***ng_cheer@163.com
Taurry
yiz***ui1990@gmail.com
另一个方法输出 1-100 素数:
package main import "fmt" func main() { var a, b int for a = 2; a <= 100; a++ { for b = 2; b <= (a / b); b++ { if a%b == 0 { break } } if b > (a / b) { fmt.Printf("%d\t是素数\n", a) } } }Taurry
yiz***ui1990@gmail.com
爱球球
269***4920@qq.com
循环:
package main import "fmt" import "strconv" import "os" func main(){ var score int = 0 var fenshu string = "A" fmt.Printf("欢迎进入成绩查询系统\n") ZHU: for true{ var xuanzhe int = 0 fmt.Println("1.进入成绩查询 2.退出程序") fmt.Printf("请输入序号选择:") fmt.Scanln(&xuanzhe) fmt.Printf("\n") if xuanzhe == 1{ goto CHA } if xuanzhe == 2{ os.Exit(1) } } CHA: for true { fmt.Printf("请输入一个学生的成绩:") fmt.Scanln(&score) switch { case score >= 90:fenshu = "A" case score >= 80&&score < 90:fenshu = "B" case score >= 60&&score < 80:fenshu = "C" default: fenshu = "D" } //fmt.Println(fenshu) var c string = strconv.Itoa(score) switch{ case fenshu == "A": fmt.Printf("你考了%s分,评价为%s,成绩优秀\n",c,fenshu) case fenshu == "B" || fenshu == "C": fmt.Printf("你考了%s分,评价为%s,成绩良好\n",c,fenshu) case fenshu == "D": fmt.Printf("你考了%s分,评价为%s,成绩不合格\n",c,fenshu) } fmt.Printf("\n") goto ZHU } //fmt.Println(score) }爱球球
269***4920@qq.com
冰河
ofy***@qq.com
求 100 内素数,我也来贴一个最终版的:
// 打印100内的素数 // 素数定义:在大于1的自然数中,因数只有1和自身的数称为素数。 func t01_test2() { const RANGE = 100 for num := 2; num <= RANGE; num++ { // 当前因数 factor 对应的另一个因数就是 num / factor。 // 当前者大于后者时,可以认为所有因数已经分析完毕。 for factor := 2; factor <= (num / factor); factor++ { //能除尽,则表示 factor 是 num 的一个因子。那么num就不是素数。 if num%factor == 0 { goto NEXT_NUM } } fmt.Printf("%d\t是素数\n", num) NEXT_NUM: } }冰河
ofy***@qq.com