Chuyển tới nội dung chính

🔧 Chuẩn Bị Bếp - Installation

Trước khi bắt đầu nấu món, chúng ta cần chuẩn bị bếp đầy đủ! Hôm nay học cách cài đặt Golang - giống như trang bị đầy đủ dụng cụ cho nhà hàng.

🎯 Món Ăn Hôm Nay

Tưởng tượng bạn thuê một căn bếp trống. Trước khi nấu món đầu tiên, bạn cần:

  • 🔥 Bếp gas (Go compiler)
  • 🍳 Nồi, chảo (Code editor)
  • 🧂 Kho gia vị (Environment variables)
  • 📋 Sổ công thức (Documentation)

Đó chính là quá trình cài đặt Golang!

🥘 Installation Là Gì?

Installation = Chuẩn bị bếp đầy đủ để sẵn sàng nấu món

Bao gồm:

  1. Cài đặt Go - Lắp bếp gas
  2. Cấu hình môi trường - Sắp xếp kho gia vị
  3. Chọn editor - Chọn dao thớt phù hợp
  4. Kiểm tra hoạt động - Thử bếp lần đầu

👨‍🍳 Câu Chuyện Trong Bếp

Ngày đầu tiên mở nhà hàng, bạn bước vào căn bếp trống:

Bước 1: Lắp bếp gas → Cài đặt Go Bước 2: Sắp xếp kho → Cấu hình biến môi trường Bước 3: Chọn dao thớt → Cài VS Code + Extension Bước 4: Nấu thử ly đầu tiên → go run hello.go

Sẵn sàng chưa? Bắt đầu thôi!

📝 Công Thức Cài Đặt

Bước 1: Tải Go (Lắp Bếp Gas)

🪟 Windows

# Tải từ trang chính thức
https://go.dev/dl/

# Hoặc dùng Chocolatey
choco install golang

🍎 MacOS

# Dùng Homebrew (khuyến nghị)
brew install go

# Hoặc tải file .pkg từ
https://go.dev/dl/

🐧 Linux (Ubuntu/Debian)

# Cách 1: Dùng package manager
sudo apt update
sudo apt install golang-go

# Cách 2: Tải bản mới nhất
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz

🔍 Giải Thích:

  • Windows: Như mua bếp gas lắp sẵn
  • MacOS: Homebrew = Cửa hàng dụng cụ bếp
  • Linux: Tự lắp đặt từ đầu (chuyên nghiệp hơn)

Bước 2: Cấu Hình Môi Trường (Sắp Kho)

Thiết Lập PATH

Windows (PowerShell)

# Thêm Go vào PATH
$env:Path += ";C:\Go\bin"
setx GOPATH "%USERPROFILE%\go"

MacOS/Linux (Bash/Zsh)

# Mở file cấu hình shell
nano ~/.bashrc # Hoặc ~/.zshrc nếu dùng Zsh

# Thêm dòng sau
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

# Áp dụng thay đổi
source ~/.bashrc

🏪 Ẩn Dụ Nhà Hàng:

  • PATH: Đường vào bếp - hệ thống biết tìm Go ở đâu
  • GOPATH: Kho chứa nguyên liệu (workspace)
  • GOPATH/bin: Kệ đựng công cụ đã nấu sẵn

Bước 3: Kiểm Tra Cài Đặt (Thử Bếp)

# Kiểm tra phiên bản Go
go version
# Output: go version go1.21.5 linux/amd64

# Kiểm tra biến môi trường
go env GOPATH
# Output: /home/user/go

# Xem toàn bộ cấu hình
go env

Thành Công Nếu:

  • go version hiển thị số phiên bản
  • go env GOPATH hiển thị đường dẫn workspace
  • Không có lỗi nào xuất hiện

🍳 Chọn Dụng Cụ Nấu (Code Editor)

Option 1: VS Code (Khuyến Nghị) ⭐

# Tải VS Code
https://code.visualstudio.com/

# Cài extension Go
1. Mở VS Code
2. Ctrl+Shift+X → Tìm "Go"
3. Cài extension của Google
4. Reload VS Code

Tính Năng:

  • ✅ Auto-complete (gợi ý code)
  • ✅ Debug tích hợp
  • ✅ Go to definition
  • ✅ Format code tự động

🔪 Ẩn Dụ: VS Code như bộ dao thớt cao cấp - sắc, tiện lợi, dễ dùng!

Option 2: GoLand (Chuyên Nghiệp)

# IDE của JetBrains (trả phí)
https://www.jetbrains.com/go/

# Mạnh mẽ nhưng tốn RAM

Option 3: Vim/NeoVim (Đầu Bếp Lão Luyện)

# Cài vim-go plugin
git clone https://github.com/fatih/vim-go.git ~/.vim/pack/plugins/start/vim-go

🔥 Thực Hành: Nấu Món Đầu Tiên

Bài Tập 1: Hello Kitchen

# Tạo thư mục dự án
mkdir ~/go/src/hello-kitchen
cd ~/go/src/hello-kitchen

# Khởi tạo Go module
go mod init hello-kitchen

# Tạo file main.go
touch main.go
// main.go
package main

import "fmt"

func main() {
fmt.Println("🏪 Chào mừng đến Bếp Á!")
fmt.Println("🍜 Sẵn sàng nấu món đầu tiên!")
}
# Chạy món đầu tiên
go run main.go

# Output:
# 🏪 Chào mừng đến Bếp Á!
# 🍜 Sẵn sàng nấu món đầu tiên!

Bài Tập 2: Kiểm Tra Cấu Hình

package main

import (
"fmt"
"runtime"
)

func main() {
fmt.Println("=== THÔNG TIN BẾP ===")
fmt.Printf("🔥 Bếp: Go %s\n", runtime.Version())
fmt.Printf("💻 Hệ điều hành: %s\n", runtime.GOOS)
fmt.Printf("⚙️ Kiến trúc: %s\n", runtime.GOARCH)
fmt.Printf("👨‍🍳 Số đầu bếp (CPU): %d\n", runtime.NumCPU())
}

Bài Tập 3: Cài Package Đầu Tiên

# Cài package hỗ trợ in màu
go get github.com/fatih/color

# Sử dụng trong code
package main

import "github.com/fatih/color"

func main() {
color.Green("✅ Bếp đã sẵn sàng!")
color.Yellow("🍜 Phở Bò đang nấu...")
color.Red("⚠️ Cẩn thận món nóng!")
}

⚠️ Những Lỗi Đầu Bếp Thường Gặp

Lỗi 1: Không Tìm Thấy Go Command

# ❌ SAI: Lỗi "go: command not found"
go version

# ✅ ĐÚNG: Kiểm tra PATH
echo $PATH
# Đảm bảo có /usr/local/go/bin

# Sửa lỗi
export PATH=$PATH:/usr/local/go/bin
source ~/.bashrc

🔧 Cách sửa: Bếp gas đã lắp nhưng chưa nối dây vào công tắc (PATH)

Lỗi 2: GOPATH Chưa Được Thiết Lập

# ❌ SAI: go env GOPATH trống
go env GOPATH
# Output: (trống)

# ✅ ĐÚNG: Thiết lập GOPATH
export GOPATH=$HOME/go
go env GOPATH
# Output: /home/user/go

Lỗi 3: Module Không Khởi Tạo

# ❌ SAI:
go run main.go
# Error: no go.mod file

# ✅ ĐÚNG: Khởi tạo module trước
go mod init my-restaurant
go run main.go

🔧 Cách sửa: Phải tạo sổ công thức (go.mod) trước khi nấu!

💡 Bí Quyết Của Đầu Bếp

  1. Luôn dùng Go Modules: go mod init trước khi code
  2. Update Go thường xuyên: Bếp mới nấu ngon hơn!
  3. Dùng VS Code + Go Extension: Dụng cụ tốt = Nấu dễ hơn
  4. Kiểm tra go env: Biết rõ bếp mình để không bị lạc đường

🎓 Bạn Đã Học Được

  • ✅ Cài đặt Go trên Windows/Mac/Linux
  • ✅ Cấu hình biến môi trường (PATH, GOPATH)
  • ✅ Chọn và setup code editor (VS Code khuyến nghị)
  • ✅ Chạy chương trình Go đầu tiên
  • ✅ Hiểu Go Modules và cách khởi tạo
  • ✅ Khắc phục lỗi cài đặt thường gặp

🍜 Món Tiếp Theo

Bếp đã sẵn sàng! Giờ học cách sắp xếp bếp khoa học:

👉 Sắp Xếp Bếp - Code Organization


💡 Lời Khuyên Cuối: Một căn bếp được chuẩn bị tốt = Nấu ăn dễ dàng gấp đôi! Đừng bỏ qua bước setup môi trường, nó sẽ giúp bạn tiết kiệm rất nhiều thời gian sau này! 🔧