go-008-循环语句
Posted 木子旭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go-008-循环语句相关的知识,希望对你有一定的参考价值。
一、循环语句【只有for】
1、基础结构:
Go语言的For循环有3中形式,只有其中的一种使用分号。
和 C 语言的 for 一样:
for init; condition; post { }
和 C 的 while 一样:
for condition { }
和 C 的 for(;;) 一样:
for { }
init: 一般为赋值表达式,给控制变量赋初值;
condition: 关系表达式或逻辑表达式,循环控制条件;
post: 一般为赋值表达式,给控制变量增量或减量。
2、for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下:
for key, value := range oldMap {
newMap[key] = value
}
示例
package main import "fmt" func main() { var b int = 15 var a int numbers := [6]int{1, 2, 3, 5} /* for 循环 */ for a := 0; a < 10; a++ { fmt.Printf("a 的值为: %d\\n", a) } for a < b { a++ fmt.Printf("a 的值为: %d\\n", a) } for i,x:= range numbers { fmt.Printf("第 %d 位 x 的值 = %d\\n", i,x) } }
二、循环控制语句
注:goto语句
goto label;
..
.
label: statement;
在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。
示例:
package main import "fmt" func main() { /* 定义局部变量 */ var a int = 10 /* 循环 */ LOOP: for a < 20 { if a == 15 { /* 跳过迭代 */ a = a + 1 goto LOOP } fmt.Printf("a的值为 : %d\\n", a) a++ } }
三、无限循环
package main import "fmt" func main() { for true { fmt.Printf("这是无限循环。\\n"); } }
以上是关于go-008-循环语句的主要内容,如果未能解决你的问题,请参考以下文章