คู่มือติดตั้ง Go (Golang) ฉบับเข้าใจง่าย
คู่มือติดตั้ง Go (Golang) ฉบับเข้าใจง่าย
Go เป็นภาษาโปรแกรมที่พัฒนาโดย Google โดดเด่นในเรื่องความเร็ว ความเรียบง่าย และการจัดการ concurrency
ทำไมต้องใช้ Go?
ข้อดีหลัก:
- Fast Compilation - คอมไพล์เร็วมาก
- Built-in Concurrency - Goroutines และ Channels
- Simple Syntax - เรียนรู้ง่าย อ่านง่าย
- Strong Standard Library - มี library ครบครัน
- Cross-platform - คอมไพล์ครั้งเดียว รันได้ทุกที่
การติดตั้งบน Windows
วิธีที่ 1: ใช้ Installer (แนะนำ)
ขั้นตอนที่ 1: ดาวน์โหลด installer
ไปที่ https://go.dev/dl/ แล้วเลือกไฟล์:
go1.24.x.windows-amd64.msi
ขั้นตอนที่ 2: ติดตั้ง
- รันไฟล์
.msiที่ดาวน์โหลดมา - ทำตาม wizard จนเสร็จ
ขั้นตอนที่ 3: ตรวจสอบ
เปิด Command Prompt หรือ PowerShell:
go version
ผลลัพธ์ที่ควรได้:
go version go1.24.x windows/amd64
วิธีที่ 2: ใช้ Chocolatey
ถ้ามี Chocolatey ติดตั้งแล้ว:
choco install golang
วิธีที่ 3: ใช้ Scoop
ถ้าใช้ Scoop:
scoop install go
การติดตั้งบน macOS
วิธีที่ 1: ใช้ Homebrew (แนะนำ)
brew install go
รอสักครู่จนเสร็จ แล้วตรวจสอบ:
go version
วิธีที่ 2: Manual Installation
ขั้นตอนที่ 1: ดาวน์โหลด
ไปที่ https://go.dev/dl/ แล้วเลือก:
- Intel Mac:
go1.24.x.darwin-amd64.tar.gz - M1/M2 Mac:
go1.24.x.darwin-arm64.tar.gz
ขั้นตอนที่ 2: Extract
เปิด Terminal แล้วรัน:
sudo tar -C /usr/local -xzf ~/Downloads/go1.24.x.darwin-amd64.tar.gz
ขั้นตอนที่ 3: เพิ่ม PATH
เปิดไฟล์ config:
nano ~/.zshrc
เพิ่มบรรทัดนี้ที่ท้ายไฟล์:
export PATH=$PATH:/usr/local/go/bin
บันทึกและ reload:
source ~/.zshrc
การติดตั้งบน Linux
วิธีที่ 1: ใช้ Package Manager
Ubuntu/Debian:
sudo apt update
sudo apt install -y golang-go
Fedora:
sudo dnf install -y golang
Arch Linux:
sudo pacman -S go
วิธีที่ 2: Manual Installation (เวอร์ชันล่าสุด)
ขั้นตอนที่ 1: ดาวน์โหลด
wget https://go.dev/dl/go1.24.x.linux-amd64.tar.gz
ขั้นตอนที่ 2: Extract
sudo tar -C /usr/local -xzf go1.24.x.linux-amd64.tar.gz
ขั้นตอนที่ 3: เพิ่ม PATH
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
การตั้งค่า Environment Variables
ตัวแปรสำคัญ
# GOPATH - ที่เก็บโค้ดและ dependencies
export GOPATH=$HOME/go
# GOROOT - ที่ติดตั้ง Go (auto-detect อัตโนมัติ)
export GOROOT=/usr/local/go
# PATH
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
ตั้งค่าใน Shell
สำหรับ Bash:
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc
สำหรับ Zsh:
echo 'export GOPATH=$HOME/go' >> ~/.zshrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.zshrc
source ~/.zshrc
การตั้งค่า Go Modules
Go Modules เป็น dependency management หลักตั้งแต่ Go 1.11
เปิดใช้งาน
go env -w GO111MODULE=on
ตั้งค่า Proxy
ถ้าโหลด package ช้า:
go env -w GOPROXY=https://proxy.golang.org,direct
ตรวจสอบการติดตั้ง
1. ตรวจสอบเวอร์ชัน
go version
ควรได้ผลลัพธ์:
go version go1.24.x linux/amd64
2. ตรวจสอบ Environment
go env
3. ทดสอบเขียนโปรแกรมแรก
สร้างไฟล์ hello.go:
package main
import "fmt"
func main() {
fmt.Println("Hello, Go!")
}
รันโปรแกรม:
go run hello.go
ผลลัพธ์:
Hello, Go!
IDE/Editor ที่แนะนำ
1. Visual Studio Code (แนะนำ)
ติดตั้ง extension:
code --install-extension golang.Go
2. GoLand (by JetBrains)
- IDE เฉพาะสำหรับ Go
- มี features ครบครัน
- ต้องซื้อ license
3. Vim/Neovim
ติดตั้ง vim-go:
git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go
เครื่องมือที่ควรติดตั้ง
1. gofmt - Format โค้ด
gofmt -w yourfile.go
2. goimports - จัดการ imports
go install golang.org/x/tools/cmd/goimports@latest
3. golint - Linter
go install golang.org/x/lint/golint@latest
4. staticcheck - Static Analysis
go install honnef.co/go/tools/cmd/staticcheck@latest
โครงสร้างโปรเจกต์ Go
my-go-project/
├── cmd/ # Main applications
│ └── myapp/
│ └── main.go
├── internal/ # Private code
│ └── handler/
│ └── handler.go
├── pkg/ # Public libraries
│ └── utils/
│ └── utils.go
├── go.mod # Module definition
├── go.sum # Dependencies
└── README.md
ขั้นตอนถัดไป
1. เรียนรู้พื้นฐาน Go
- Variables, Types, Functions
- Control Structures
- Arrays, Slices, Maps
- Structs, Interfaces
2. ศึกษา Concurrency
- Goroutines
- Channels
- Select Statement
3. สร้างโปรเจกต์แรก
- REST API
- CLI Tool
- Web Scraper
แหล่งเรียนรู้
Official:
- Go Tour: https://go.dev/tour/
- Go by Example: https://gobyexample.com/
- Effective Go: https://go.dev/doc/effective_go
Happy Coding with Go!