從一知半解到略懂 Go modules
一直以來沒有好好去詳讀 go modules 的文件,所以都覺得對 go modules 只是一知半解。這次花了些時間看了關於 go modules 的相關文件,並實際寫個小範例體驗,最後整理成本文分享。
Posted on Nov 2, 2020 in Go 程式設計 - 初階 by Amo Chen ‐ 3 min read
一直以來沒有好好去詳讀 go modules 的文件,所以都覺得對 go modules 只是一知半解。這次花了些時間看了關於 go modules 的相關文件,並實際寫個小範例體驗,最後整理成本文分享。
Posted on Nov 2, 2020 in Go 程式設計 - 初階 by Amo Chen ‐ 3 min read
初學 golang 的人應該都會對環境變數 GOPATH 感到困惑。
譬如 PYTHONPATH 是 Python 尋找模組與套件的路徑,一般來說並不需要特別設定,也可以用得很開心。
然而 GOPATH 則不一樣,一旦程式涉及 package 就會需要留心 GOPATH 的設定,很容易令人感到困惑,但是只要弄清楚 GOPATH 的基本,就能夠很輕鬆地開發 Go 應用程式。
那麼,就從 Hello World 開始認識 GOPATH 吧!
Posted on Jul 26, 2020 in Go 程式設計 - 初階 by Amo Chen ‐ 4 min read
GORM 是 Golang 生態系中知名的 ORM(Object-Relational Mapping) 函式庫,如果想在 Golang 使用 ORM 相關的功能,不妨試試 GORM!
不過, GORM 文件中比較少篇幅提到 PostgreSQL 的 JSONB 如何使用,本文用以紀錄 GORM 使用 JSONB 的範例,如果沒使用 GORM 經驗的話,建議看過 GORM 文件後再閱讀本篇文章。
Posted on Feb 16, 2020 in Go 程式設計 - 高階 by Amo Chen ‐ 1 min read
gRPC 是由 Google 所開源的一項 RPC(Remote Procedure Call) 專案。
由於 Google 內部使用了相當多的 Microservices, 也因此 Google 內部十分仰賴以 RPC 技術作為資料傳遞、處理的骨幹,他們內部也使用了一套稱為 Stubby 的 RPC 技術框架,可以視為 gRPC 的前身,不過隨著 SPDY, HTTP/2 及 QUIC 等技術的出現,加上多年使用 Stubby 的經驗以及為了改近 Stubby 的不足,促使 Google 決定打造一套新世代的 RPC 框架,最後造就 gRPC 問世。(有興趣可以進一步閱讀 gRPC Blog )
Posted on Feb 4, 2020 in Go 程式設計 - 高階 by Amo Chen ‐ 4 min read
Golang 內建 CSV 的檔案處理功能,本篇介紹 csv.Writer
及簡單的使用範例。
Posted on Jun 12, 2018 in Go 程式設計 - 初階 by Amo Chen ‐ 1 min read
Golang 內建 CSV 的檔案處理功能,本篇介紹 csv.Reader
及簡單的使用範例。
Posted on Jun 7, 2018 in Go 程式設計 - 初階 by Amo Chen ‐ 1 min read
VS Code 作為 Go 的 IDE 其實相當方便,但由於初學者多半對 GOPATH 或 launch.json 的設定仍處於半生不熟的情況,對於環境設定都會感到棘手,因此本文特別將過程陳列出來,以期大家都能夠開啟一段愉快的 Go 旅程。
Last updated on Mar 2, 2023 in Go 程式設計 - 初階 by Amo Chen ‐ 4 min read
Golang 內建提供 http.FileServer ,可以方便地透過 HTTP 存取檔案系統(file system),例如以下程式碼執行之後,就可以透過瀏覽器打開網址 http://localhost:8080
瀏覽 /usr/share/doc
資料夾內的檔案。
package main
import (
"net/http"
)
func main() {
http.ListenAndServe(":8080", http.FileServer(http.Dir("/usr/share/doc")))
}
Posted on Jun 4, 2018 in Go 程式設計 - 初階 by Amo Chen ‐ 2 min read