Go Wiki:主頁
歡迎來到 Go wiki,這裡是關於 Go 程式語言的資訊集合。 Awesome Go 是 Go 社群精心策劃的另一個 Go 程式設計師的絕佳資源。
如果在此頁面上找不到所需內容,請參閱所有頁面列表。
關於 Go 的問題
請參閱 常見問題。
Contributing
- 如果您想新增新頁面,請首先在 Go 問題跟蹤器中以
wiki:
為字首提交一個問題,以提議新增。請清楚說明內容為何不適合任何現有頁面。 - 由於重新命名 wiki 頁面可能會破壞外部連結,因此在重新命名或刪除任何 wiki 頁面之前,請先提交問題。
有關貢獻的更多資訊,請參閱 貢獻。
目錄
- Go 入門
- 使用 Go
- 瞭解更多關於 Go 的資訊
- Go 社群
- 使用 Go 工具鏈
- 其他 Go 程式設計維基
- 與 Go 協作的線上服務
- 生產環境中的 Go 程式故障排除
- 為 Go 專案做貢獻
- 平臺特定資訊
- 版本特定資訊
- 問題
Go 入門
- Go 之旅是最好的入門之地。
- Effective Go 將幫助您學習如何編寫地道的 Go 程式碼。
- Go 標準庫文件,讓您熟悉標準庫。
- 使用 Go Playground 在瀏覽器中測試 Go 程式。
- 還沒被說服?檢視這份 Go 使用者列表和他們的一些成功案例。我們還整理了一長串你應該嘗試 Go 的理由。
- 瞭解那些從其他語言轉向 Go 的公司。
使用 Go
準備好編寫自己的 Go 程式碼了嗎?這裡有一些連結可以幫助您入門。
- 安裝和設定您的環境
- 從這裡開始:官方安裝文件
- 如果您更喜歡從原始碼安裝,請先閱讀此內容。
- InstallFromSource - 關於原始碼安裝的額外提示。
- Windows 使用者?在 Windows 上安裝和配置 Go、Git 和 Visual Studio Code
- Mac 使用者?我的入門方式 - Go - 安裝 Go 和構建您的第一個 Web 服務的逐步指南。
- 遇到安裝問題?InstallTroubleshooting
- 確保您的 $GOPATH 環境變數設定正確
- 如果您需要使用 $GOPATH 的額外提示,請點選這裡。
- Go IDE 和編輯器 - 關於如何使用您喜歡的編輯器與 Go 的資訊。
- Go 程式碼工具 - 格式化、程式碼檢查、審查、重構、導航和視覺化。
- 查詢 Go 庫和包
- 從這裡開始:Go 開源專案。
- 搜尋 Go 包:pkg.go.dev
- Go 開源包圖的視覺化
- 模組 - 關於 Go 命令中內建的依賴管理系統(在 1.11 中新增)的文件。
- 將 Go 包作為開源釋出
瞭解更多關於 Go 的資訊
對語言有了大致瞭解後,這裡有一些資源可以幫助您瞭解更多。
- 學習 Go - Go 學習資源合集 - 從初級到高階。
- Go 新開發者的最佳實踐 - 來自 Go 社群成員的見解。
- 伺服器程式設計 - 構建 Web、移動和 API 伺服器。
- 更多關於併發
- 更多關於錯誤處理
- 更多關於測試
- 更多關於移動開發 - Android 和 iOS
- 書籍 - 已出版的 Go 書籍列表(電子書、紙質書)。
- 部落格 - 關於 Go 的部落格。
- 播客 - 包含 Go 的播客和節目。
- 影片、演講和簡報
- 文章 - 幫助您瞭解更多 Go 的文章集。
- 培訓 - 免費和商業,線上和課堂 Go 培訓。
- 大學課程 - 使用 Go 的計算機科學課程和課堂列表。
- 非英語使用者資源
Go 社群
以下是您可以線上找到 Gophers 的一些地方。要了解成為 Go 社群成員的意義,請閱讀 Damian Gryski 在 GolangUK 2015 大會上的主題演講 或觀看 Andrew Gerrand 在 GopherCon 2015 上的閉幕主題演講。
- Gophers 線上聚集地
- Go 論壇 - Go 社群的多功能討論論壇。
- Gophers Slack 頻道 - 用於即時聊天(請求會員資格)。
- Golang News - 提供關於 Go 程式設計的精選連結。
- 還有一個 /r/golang 子版塊。
- 在 Mastodon 上,關注 @golang 帳戶並關注 #golang 話題標籤。
- 在 Twitter 上,關注 @golang 帳戶並關注 #golang 話題標籤。
- 我們還在 Stack Overflow 上有一個 Go 問答的著陸頁。
- Matrix 愛好者受邀加入 #Go:matrix.org。
- Discord 使用者歡迎加入 Discord Gophers 伺服器。
- Hashnode 使用者在 Hashnode Go 社群中討論和撰寫關於 Go 的內容。
- 郵件列表
- Go 使用者的郵件列表是 golang-nuts - 流量非常高。
- 在您發帖之前,請檢查是否已經有人回答過,然後閱讀 這些關於如何提出好問題的提示
- 有關核心 Go 開源專案的討論,請加入 golang-dev。
- 如需僅獲取我們的釋出公告,請加入 golang-announce
- Go 使用者的郵件列表是 golang-nuts - 流量非常高。
- 使用者組和聚會 - 許多城市都有 Go 聚會
- GoBridge - 志願者幫助弱勢社群教授技術技能並在 Go 中促進多樣性。
- 女性 Go 愛好者
- 更多資訊請參見 GoUserGroups
- GoDiscourse - Go Discourse 是一個開源的基於 Go 的論壇,源自
hello world
。
- 會議 - 即將舉行和已結束的 Go 會議和重大活動列表。
- 使用 Go 的公司 - 全球使用 Go 的公司綜合列表。
- 瞭解更多關於 Renee French 的 Go 地鼠影像。
使用 Go 工具鏈
- 從
go
命令的標準文件開始,此處可用 - 從這裡開始學習 供應商化。
- 交叉編譯
- 共享庫和 Go (buildmode)
- Go 共享庫 - 從 Go 和 Python 建立和使用共享庫的示例。
- 與 C 共享 Go 包 - 作者:Svetlin Ralchev
- 從 Python 呼叫 Go 庫 - 作者:Filippo Valsorda
- 從 Ruby 呼叫 Go 庫 - 作者:Peter Hellberg
- 從 Swift 呼叫 Go 庫 - 作者:Jaana Burcu Dogan
- gohttplib - 使用 Go 1.5 buildmode=c-shared 的實驗。
- 有關其他詳細資訊,請參閱以下維基
- GoGetTools
- GoGetProxyConfig
- cgo
- 編譯器最佳化
- Gccgo交叉編譯
- GcToolchainTricks
- GoGenerateTools
- Go 工具基礎 - 作者:Jaana Burcu Dogan
其他 Go 程式設計維基
-
人工智慧
- AI - 從 Go 訪問 AI(人工智慧)和 LLM(大型語言模型)服務
-
併發
- 超時 - 放棄耗時過長的非同步呼叫
- LockOSThread
- MutexOrChannel - 何時使用互斥鎖或通道
- 競態檢測器 - 如何檢測和修復競態條件
-
使用資料庫
- database/sql - 使用 database/sql 包的線上教程。
- SQLDrivers
- SQLInterface
-
來自其他語言
-
字串
與 Go 協作的線上服務
如果您正在尋找支援 Go 的服務,這裡有一個列表可以幫助您入門。
- 雲計算 - Go 受到大多數雲服務提供商的良好支援。
- 持續整合和持續部署 - Go 受到大多數 CI/CD 框架的良好支援
- 監控/日誌
- OpsDash - 基於 Go 的叢集監控平臺。
- 包和依賴管理
- Gopkg.in 是 Gustavo Niemeyer 提供的穩定 Go 庫的來源。
生產環境中的 Go 程式故障排除
- 使用 pprof 包瞭解您的 Go 應用程式的效能
- 堆轉儲
為 Go 專案做貢獻
- 首先閱讀 Go 貢獻指南
- 如果您想對 Go 專案提出更改,請首先閱讀 Go 更改提案流程
- Go 版本大約每 6 個月釋出一次。 有關更多資訊,請參閱此處
- 想了解更多關於 Go 原始碼 X 儲存庫如何構建?
- Go 專案要求所有程式碼在提交前都經過審查。
- 問題
- 錯誤報告和功能請求應使用 GitHub 問題跟蹤器提交
- 想了解我們如何處理已報告的問題?
- 專案儀表板
平臺特定資訊
請參閱 MinimumRequirements 以瞭解當前 Go 移植的最低平臺要求。正在考慮將 Go 移植到新平臺?請先閱讀我們的移植政策。
注意事項
- 請勿更改維基頁面的標題,因為其中一些頁面可能已連結到 golang.org 或其他網站
此內容是 Go Wiki 的一部分。