电子商务网站的建设目标,网站建设费和网站维护费的区别,开发一套小程序需要多少钱,网站免费获取验证码怎么做-
循环语句for
1. 循环语句for
1.1.1. Golang for支持三种循环方式#xff0c;包括类似 while 的语法。
for循环是一个循环控制结构#xff0c;可以执行指定次数的循环。
语法
Go语言的For循环有3中形式#xff0c;只有其中的一种使用分号。 for init; condition; pos…-
循环语句for
1. 循环语句for
1.1.1. Golang for支持三种循环方式包括类似 while 的语法。
for循环是一个循环控制结构可以执行指定次数的循环。
语法
Go语言的For循环有3中形式只有其中的一种使用分号。 for init; condition; post { }for condition { }for { }init 一般为赋值表达式给控制变量赋初值condition 关系表达式或逻辑表达式循环控制条件post 一般为赋值表达式给控制变量增量或减量。for语句执行过程如下①先对表达式 init 赋初值②判别赋值表达式 init 是否满足给定 condition 条件若其值为真满足循环条件则执行循环体内语句然后执行 post进入第二次循环再判别 condition否则判断 condition 的值为假不满足条件就终止for循环执行循环体外语句。
s : abcfor i, n : 0, len(s); i n; i { // 常见的 for 循环支持初始化语句。println(s[i])
}n : len(s)
for n 0 { // 替代 while (n 0) {}println(s[n]) // 替代 for (; n 0;) {}n--
}for { // 替代 while (true) {}println(s) // 替代 for (;;) {}
}不要期望编译器能理解你的想法在初始化语句中计算出全部结果是个好主意。
package mainfunc length(s string) int {println(call length.)return len(s)
}func main() {s : abcdfor i, n : 0, length(s); i n; i { // 避免多次调用 length 函数。println(i, s[i])}
}输出: call length.0 971 982 993 100实例
package mainimport fmtfunc main() {var b int 15var a intnumbers : [6]int{1, 2, 3, 5}/* for 循环 */for a : 0; a 10; a {fmt.Printf(a 的值为: %d\n, a)}for a b {afmt.Printf(a 的值为: %d\n, a)}for i,x: range numbers {fmt.Printf(第 %d 位 x 的值 %d\n, i,x)}
}以上实例运行输出结果为: a 的值为: 0a 的值为: 1a 的值为: 2a 的值为: 3a 的值为: 4a 的值为: 5a 的值为: 6a 的值为: 7a 的值为: 8a 的值为: 9a 的值为: 1a 的值为: 2a 的值为: 3a 的值为: 4a 的值为: 5a 的值为: 6a 的值为: 7a 的值为: 8a 的值为: 9a 的值为: 10a 的值为: 11a 的值为: 12a 的值为: 13a 的值为: 14a 的值为: 15第 0 位 x 的值 1第 1 位 x 的值 2第 2 位 x 的值 3第 3 位 x 的值 5第 4 位 x 的值 0第 5 位 x 的值 01.1.2. 循环嵌套
在 for 循环中嵌套一个或多个 for 循环
语法
以下为 Go 语言嵌套循环的格式
for [condition | ( init; condition; increment ) | Range]
{for [condition | ( init; condition; increment ) | Range]{statement(s)}statement(s)
}实例
以下实例使用循环嵌套来输出 2 到 100 间的素数
package mainimport fmtfunc main() {/* 定义局部变量 */var i, j intfor i2; i 100; i {for j2; j (i/j); j {if(i%j0) {break // 如果发现因子则不是素数}}if(j (i/j)) {fmt.Printf(%d 是素数\n, i)}}
}以上实例运行输出结果为: 2 是素数3 是素数5 是素数7 是素数11 是素数13 是素数17 是素数19 是素数23 是素数29 是素数31 是素数37 是素数41 是素数43 是素数47 是素数53 是素数59 是素数61 是素数67 是素数71 是素数73 是素数79 是素数83 是素数89 是素数97 是素数1.1.3. 无限循环
如过循环中条件语句永远不为 false 则会进行无限循环我们可以通过 for 循环语句中只设置一个条件表达式来执行无限循环
package mainimport fmtfunc main() {for true {fmt.Printf(这是无限循环。\n);}
}