如果有一個程式需要重複執行5次該如何處理?
在還沒有for陳述式的觀念之前可能會使用以下寫法:
package main
import ("fmt")
func main() {
fmt.Println("你好啊!!!!")
fmt.Println("你好啊!!!!")
fmt.Println("你好啊!!!!")
fmt.Println("你好啊!!!!")
fmt.Println("你好啊!!!!")
}
輸出結果如下:
你好啊!!!!
你好啊!!!!
你好啊!!!!
你好啊!!!!
你好啊!!!!
但要重複執行上千、上萬次這樣寫會超級累的~
我們需要更有效率且聰明的方法完成-ㄝ
這時候for陳述式就登場了!!
for迴圈的語法如下:
for 初始值; 循環次數條件判斷; 循環次數增減 {
// 程式
}
範例:
package main
import ("fmt")
func main() {
//初始值=0;循環條件i<5,大於5就停止迴圈;循環次數+1
for i:= 0; i < 5 ; i++{
fmt.Println("你好啊!!!!")
}
}
輸出結果:
你好啊!!!!
你好啊!!!!
你好啊!!!!
你好啊!!!!
你好啊!!!!
使用for陳述式後程式就簡潔許,
後續如果要調整循環次數只要更改循環條件,
日後維護程式就會非常方便。
如果執行for陳述式途中有些程式想跳過或是停止迴圈該如何處理?
這時候可以使用continue & break陳述式,
continue的功能為跳過迴圈、break為結束迴圈,
範例如下:
package main
import ("fmt")
func main() {
for i:= 0; i < 100 ; i++{
if i == 5 {
fmt.Println("休息一下~第",i+1,"不執行~")
continue
}
if i == 10 {
fmt.Println("執行100次太多了,執行十次就好")
break
}
fmt.Println("你好啊!!!!",i+1)
}
}
輸出結果:
你好啊!!!! 1
你好啊!!!! 2
你好啊!!!! 3
你好啊!!!! 4
你好啊!!!! 5
休息一下~第 6 不執行~
你好啊!!!! 7
你好啊!!!! 8
你好啊!!!! 9
你好啊!!!! 10
執行100次太多了,執行十次就好
for和if相同能使用巢狀結構,
如果有複雜的多層迴圈計算可使用此方法處理,
程式範例如下:
package main
import ("fmt")
func main() {
for i:= 0; i < 2 ; i++{
for j:= 0; j < 3 ; j++{
fmt.Println("你好啊!!!!",i,"之",j,"次")
}
}
}
輸出結果:
你好啊!!!! 0 之 0 次
你好啊!!!! 0 之 1 次
你好啊!!!! 0 之 2 次
你好啊!!!! 1 之 0 次
你好啊!!!! 1 之 1 次
你好啊!!!! 1 之 2 次
鐵人賽完成第九天了~~
今天天氣超好~~下午來散散步~~~