คู่มือติดตั้ง Go (Golang) ฉบับเข้าใจง่าย

คู่มือติดตั้ง Go (Golang) ฉบับเข้าใจง่าย

Dev Team · IT ·

คู่มือติดตั้ง Go (Golang) ฉบับเข้าใจง่าย

Go เป็นภาษาโปรแกรมที่พัฒนาโดย Google โดดเด่นในเรื่องความเร็ว ความเรียบง่าย และการจัดการ concurrency


ทำไมต้องใช้ Go?

ข้อดีหลัก:

  1. Fast Compilation - คอมไพล์เร็วมาก
  2. Built-in Concurrency - Goroutines และ Channels
  3. Simple Syntax - เรียนรู้ง่าย อ่านง่าย
  4. Strong Standard Library - มี library ครบครัน
  5. 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:


Happy Coding with Go!