iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0
Modern Web

後端攻略筆記系列 第 16

Day 16 : 用 Go 語言的 for 迴圈,輕鬆解決生活中的重複工作

  • 分享至 

  • xImage
  •  

在程式設計的世界裡,重複執行某些動作往往是不可避免的挑戰。想像你每天都要數花園裡來訪的鳥兒,手動一筆一筆加總,不但容易出錯,還費時費力。這時,學會使用程式語言中的「for 迴圈」就像找到自動化的好幫手,讓繁瑣的重複工作變得輕鬆又高效。本文要以 Go 語言的 for 迴圈為例,用一個生動的觀鳥故事,帶你一步步進入這個強大工具的世界,讓程式更貼近生活,也更有溫度。

為什麼學 for 迴圈?

在生活中,經常會遇到「重複處理類似事情」的情境,例如數數字、整理清單、處理多筆資料……如果沒有好工具,這些工作可能非常枯燥又容易出錯。for 迴圈就是幫你省力又省時的關鍵,它讓程式可以一次寫規則,讓電腦自動重複執行,大大提高效率與正確性。掌握 for 迴圈,就是邁向寫出實用程式的第一步。

Go 語言 for 迴圈的基本架構

Go 的 for 迴圈看起來簡潔有力,沒有多餘的贅字:

for 初始化; 條件; 後置運算 {
    // 重複執行的程式碼
}
  • 初始化 (init):迴圈開始前,執行一次,設定好計數器等初始狀態。
  • 條件判斷 (condition):每一回合開始前會確認是否繼續執行,結果為布林值(true 或 false)。
  • 後置運算 (post):每回合結束時執行,通常是增減計數器。

值得注意的是,Go 迴圈的三個部分不用用括號包起來,且主體則用大括號包住。

趣味範例:用 for 迴圈記錄你的觀鳥日常

想像你在花園裡每天寫下「今天看到了多少隻鳥」,這些資料存成陣列:

birdsPerDay := []int{2, 5, 0, 7, 4, 1, 3, 0, 2, 5, 0, 1, 3, 1}

你想知道這些鳥總共來訪了幾隻,這時 for 迴圈發揮魔力:

func TotalBirdCount(birdsPerDay []int) int {
    total := 0
    for i := 0; i < len(birdsPerDay); i++ {
        total += birdsPerDay[i]
    }
    return total
}

這段程式會循環遍歷每一天的鳥數,幫你累積出總計數(比如說 34 隻),輕鬆又準確。

挑戰進階:計算特定週的鳥數量

如果想更細部地分析,像是計算「第二週鳥兒來了幾隻」:

func BirdsInWeek(birdsPerDay []int, week int) int {
    start := (week - 1) * 7
    end := week * 7
    total := 0
    for i := start; i < end; i++ {
        total += birdsPerDay[i]
    }
    return total
}

這樣就可以輕鬆取得每週的鳥數小結(例:第二週有 12 隻鳥)。

解決額外難題:修正漏掉的鳥兒數量

更有趣的是,發現原本的紀錄有疏漏——那隻神祕鳥只在每隔一天出現,且一定從第一天在場。可用 for 迴圈修正錯誤:

func FixBirdCountLog(birdsPerDay []int) []int {
    for i := 0; i < len(birdsPerDay); i += 2 {
        birdsPerDay[i]++
    }
    return birdsPerDay
}

修正後,鳥數會被適當加上,讓你的資料更精確(像是將 [2, 5, 0, 7, 4, 1] 變成 [3, 5, 1, 7, 5, 1])。

小結

學會 Go 的 for 迴圈,不只是掌握一段程式碼,而是打開一扇門,讓生活中重複繁瑣的工作變成自動化的輕鬆任務。從觀鳥記錄到資料分析,這個工具能伴你解決各種有趣問題,也讓程式碼更有效率、更貼近生活。


上一篇
Day 15 : Go Interface 複習測驗
下一篇
Day 17 : Go 基礎篇總複習
系列文
後端攻略筆記17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言