- 軟體名稱:JetBrains GoLand
- 支援系統:Windows,Mac,Linux
- 官方網站:GoLand
以下是對
JetBrains GoLand 的完整介紹與教學,幫助你快速掌握這款為 Go 語言打造的專業 IDE。
🧠 JetBrains GoLand 介紹與教學
🔍 GoLand 是什麼?
GoLand 是由 JetBrains 開發的 專業 Go 語言 IDE,以 IntelliJ 平台為基礎,專為 Go(Golang)開發設計。它不僅支援語法補全、重構、除錯、測試等功能,也整合了 Git、Docker、資料庫、Web 框架等生態系工具。
適合用於後端服務開發、微服務架構、命令列工具、RESTful API、Web 應用與雲端平台開發等。
✅ GoLand 的核心特色
| 功能 | 說明 |
|---|
| 🧠 智慧補全與提示 | 支援變數、函式、套件、錯誤提示與自動修正。 |
| 🔄 重構功能 | 提供函式抽取、重新命名、內聯/外部化變數等。 |
| 🐞 除錯工具 | 支援 Go 的 GDB/Delve 除錯器,可視覺化觀察變數與堆疊。 |
| 📦 模組管理 | 完整支援 Go Modules(go.mod)與 vendor。 |
| 🧪 單元測試支援 | 整合 go test,具備測試視窗與覆蓋率檢查。 |
| 🌐 Web/REST 工具 | 支援 HTTP client 測試工具、JSON 檢視器、Swagger 整合等。 |
| 🔧 多工具整合 | Git、Docker、資料庫、Terminal、Goland Terminal CLI 工具整合。 |
| 💻 跨平台支援 | 可在 Windows、macOS、Linux 上執行。 |
📥 安裝與準備
🔗 下載 GoLand
⚙️ 系統需求
🚀 建立 Go 專案
建立步驟:
- 開啟 GoLand → 點選
New Project - 選擇資料夾位置與語言版本
- 勾選「Enable Go Modules」會自動建立
go.mod - 點選「Create」開始開發
📁 專案結構範例
myproject/
├── go.mod
├── main.go
└── utils/
└── helper.go
👨💻 基本開發教學
✏️ 撰寫一個簡單的 main.go
package main
import "fmt"
func main() {
fmt.Println("Hello, GoLand!")
}
▶️ 執行與偵錯
- 點右上角的
Run 按鈕(或右鍵程式 → Run 'main') - 設中斷點 → 點選
Debug,使用 Delve 進行除錯
🧠 智慧提示 & 快速修正
| 功能 | 快捷鍵(Windows / macOS) |
|---|
| 快速修正 | Alt + Enter / Option + Enter |
| 自動導入套件 | 輸入 fmt.Println() 自動導入 fmt |
| 跳轉定義 | Ctrl + Click / Cmd + Click |
| 搜尋函式 | Ctrl + Shift + A / Cmd + Shift + A |
| 類型提示 | Ctrl + P / Cmd + P 查看函式參數 |
🧪 測試教學(go test)
建立測試檔 main_test.go
package main
import "testing"
func Add(a, b int) int {
return a + b
}
func TestAdd(t *testing.T) {
result := Add(2, 3)
if result != 5 {
t.Errorf("Expected 5, got %d", result)
}
}
在 GoLand 中執行測試:
- 右鍵 →
Run 'TestAdd' - 使用 Test Explorer 檢視測試結果與覆蓋率
🔄 重構工具
| 功能 | 快捷鍵 |
|---|
| 重新命名變數/函式 | Shift + F6 |
| 抽取變數/常數 | Ctrl + Alt + V/C |
| 抽取函式 | Ctrl + Alt + M |
| 內聯變數 | Ctrl + Alt + N |
🌐 HTTP Client 工具
在 .http 檔案中撰寫測試請求:
GET http://localhost:8080/api/hello
Accept: application/json
- 點選
▶️ 執行 API 請求 - 支援環境變數、認證、JSON 檢視等
📦 Go Modules 支援
🔧 整合工具(可選)
| 工具 | 說明 |
|---|
| Docker | 可管理容器、映像、Volume |
| Git | 原生支援 Git Flow、分支合併、歷史紀錄 |
| Terminal | 內建 Terminal 可直接執行 CLI 指令 |
| Database Tool | 可連接 MySQL、PostgreSQL、SQLite 等 |
| Go Tools | 可整合 gofmt、golint、go vet、staticcheck 等工具 |
🔌 推薦插件(Plugins)
| 插件名稱 | 用途 |
|---|
.env files support | 支援 .env 檔案補全 |
Docker | 整合 Docker 開發流程 |
Markdown | 編輯 README 文件 |
Go Templates | 增強 HTML template 補全(Go web 開發時用) |
Swagger | 支援 Swagger/OpenAPI 文件撰寫與預覽 |
📚 學習資源推薦
🚀 適合哪些開發者?
| 角色 | 使用場景 |
|---|
| 初學者 | 撰寫簡單 CLI 工具或學習語法 |
| 後端工程師 | 開發 RESTful API、微服務 |
| DevOps 工程師 | 撰寫部署工具、CI/CD 工具 |
| 全端開發者 | 搭配 Go + Vue/React 開發 Web App |
| 雲端/容器開發者 | 結合 Docker/Kubernetes、Terraform 使用 |