經過前 10 天的語法練功,腦袋可能有點打結。從今天起,不再繞圈,我們來直接動手做一個小專案——與其觀望,不如起而行。直接動手做一個小專案——與其觀望,不如起而行。
今天開始我們把前面學的 Go & Echo 變成會跑的小作品:TodoList(待辦清單)。
整體難度就像煮一包泡麵:水滾 → 下麵 → 開吃。跟著指令一步一步敲,最後你會在瀏覽器看到「Hello, TodoList!」🎉
你會做出什麼?
• 一個會跑的 Echo 網站伺服器 🌐
• 一個網址 GET /hello
,會回你一段文字 ✅
• 基礎專案結構,為下一篇的「新增任務 API」鋪好路 🧱
前置準備
• 已安裝 Go 1.20+(或更高)
• 一個可以開啟終端機的環境(Windows PowerShell、macOS Terminal 或 VS Code Terminal 都行)
小提醒:以下指令在 終端機 輸入,按 Enter 執行。
步驟一:建立專案資料夾 📁
mkdir todo-list
cd todo-list
初始化 Go 專案(幫你的專案辦一張「身分證」📇):
go mod init todo-list
成功後,資料夾裡會出現一個 go.mod 檔案。
步驟二:安裝 Echo 引擎 ⚙️
go get github.com/labstack/echo/v4
這行的意思是:把 Echo 這顆強力引擎裝到你的專案裡。之後我們就能開車上路啦 🏎️
步驟三:寫第一支程式 main.go
✍️
在 todo-list 資料夾裡建立 main.go,貼上:
package main
import (
"net/http"
"github.com/labstack/echo/v4"
)
func main() {
// 建立 Echo 實例(網站伺服器)
e := echo.New()
// 路由:GET /hello
e.GET("/hello", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello, TodoList!")
})
// 啟動伺服器,監聽在 http://localhost:1323
e.Start(":1323")
}
這段做了什麼?
• 建立一個 Echo 伺服器
• 定義一條路由 GET /hello
,回應字串 "Hello, TodoList!"
• 在 :1323
埠號啟動服務
步驟四:執行程式 ▶️
在終端機執行:
go run main.go
看到這行代表伺服器啟動成功:
⇨ http server started on [::]:1323
打開瀏覽器輸入 👉
http://localhost:1323/hello
你會看到:
Hello, TodoList!
恭喜!第一步完成 🎊
(可選)快速檢查用 cURL 🧪
如果你喜歡在終端機測試,也可以:
curl http://localhost:1323/hello
一樣會收到 Hello, TodoList!。
專案結構長什麼樣?🧱
目前簡單長這樣:
todo-list/
├─ go.mod
└─ main.go
後面我們會把 API、資料庫、靜態網頁分門別類,慢慢長大不怕亂。
常見小問題 & 快速排雷 🧯
• 找不到 go 指令?
去安裝 Go,或把 Go 的安裝路徑加入環境變數(Windows 安裝程式通常會自動加好)。
• go get
很慢?
先確認網路環境能連到 GitHub;必要時改用代理或等一下再試。
• 瀏覽器開不了 http://localhost:1323/hello
?
今天小結 ✅
• 建好一個 Go 專案(go mod init
)
• 安裝 Echo(go get
)
• 寫出第一支 路由,成功在瀏覽器看到回應
就像蓋房子先打地基,我們的 TodoList 倒第一桶水泥已經完成。穩穩的!