Skip to main content

🍜 Phở Đơn Giản - Hello World

Chào mừng bạn đến bếp! Hôm nay chúng ta sẽ nấu món đầu tiên: Tô phở đơn giản nhất - chương trình "Hello World" trong Go!

🎯 Món Ăn Hôm Nay

Giống như học nấu ăn, món đầu tiên phải đơn giản để bạn làm quen với bếp. Chúng ta sẽ nấu một tô phở cơ bản nhất - chỉ cần nước dùng và bánh phở!

🥘 Nguyên Liệu Cần Chuẩn Bị

Trước khi vào bếp, hãy chuẩn bị "khu vực nấu nướng":

# Tạo góc bếp riêng (thư mục dự án)
mkdir pho-don-gian
cd pho-don-gian

# Đặt tên cho bếp (khởi tạo Go module)
go mod init pho-don-gian

🍜 Ẩn Dụ Nhà Hàng:

  • mkdir pho-don-gian: Dọn một góc bếp riêng để nấu phở
  • go mod init: Đặt biển tên "Khu vực nấu phở"

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

Hôm nay là ngày đầu tiên bạn vào bếp. Đầu bếp trưởng nói:

"Hãy nấu thử một tô phở đơn giản. Không cần cầu kỳ - chỉ cần nước dùng thơm, bánh phở mềm, và gọi khách khi xong!"

Đó chính là chương trình Hello World của chúng ta!

📝 Công Thức Nấu (Code)

Tạo file main.go (công thức nấu chính):

package main          // Bếp chính của nhà hàng

import "fmt" // Mượn bát đũa để phục vụ

func main() { // Công thức nấu phở
fmt.Println("🍜 Phở nóng đây! Mời khách dùng!")
}

🔍 Giải Thích Nguyên Liệu

Hãy phân tích từng bước nấu món:

1. package main - Bếp Chính

package main

🏪 Ẩn Dụ: Khai báo đây là bếp chính của nhà hàng (main kitchen)

  • Mọi món đều bắt đầu từ bếp chính
  • Không có bếp chính = không có món!

2. import "fmt" - Mượn Dụng Cụ

import "fmt"

🥄 Ẩn Dụ: Lấy bát đũa (format tools) từ kho dụng cụ

  • fmt = Format = Bát đũa để phục vụ món
  • Dùng để "in ra" (serve) món ăn cho khách

3. func main() - Công Thức Chính

func main() {
// Các bước nấu ở đây
}

👨‍🍳 Ẩn Dụ: Công thức chính để nấu món

  • func = function = công thức nấu ăn
  • main() = công thức đầu tiên được thực hiện
  • Mọi chương trình Go đều bắt đầu từ func main()

4. fmt.Println(...) - Gọi Món

fmt.Println("🍜 Phở nóng đây!")

📢 Ẩn Dụ: Gọi khách đến nhận món

  • fmt.Println = "Print Line" = Thông báo cho khách
  • Nội dung trong "" = Lời gọi món
  • Món đã nấu xong, hãy gọi khách!

🔥 Thực Hành Trong Bếp

Bây giờ hãy nấu mónphục vụ khách!

# Nấu và phục vụ ngay (run)
go run main.go

Kết quả bạn sẽ thấy:

🍜 Phở nóng đây! Mời khách dùng!

🎉 Chúc mừng! Bạn vừa nấu xong món đầu tiên!

Biến Tấu Món Ăn

Hãy thử sáng tạo với món phở của bạn:

Bài Tập 1: Phở Bò Tái 🥩

func main() {
fmt.Println("🍜 Phở Bò Tái - Bàn 5!")
fmt.Println("💰 Giá: 50,000 VND")
}

Bài Tập 2: Menu Nhiều Món 📋

func main() {
fmt.Println("=== MENU NHÀ HÀNG ===")
fmt.Println("1. Phở Bò - 50k")
fmt.Println("2. Bún Chả - 45k")
fmt.Println("3. Gỏi Cuốn - 30k")
fmt.Println("====================")
}

Bài Tập 3: Gọi Món Có Tên Khách 👤

func main() {
tenKhach := "Anh Minh"
tenMon := "Phở Đặc Biệt"

fmt.Printf("Kính mời %s dùng %s!\n", tenKhach, tenMon)
}

🔍 Giải Thích:

  • := là cách khai báo nguyên liệu nhanh (variables)
  • %s là chỗ trống để điền tên (string placeholder)
  • \n là xuống dòng mới

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

Lỗi 1: Bếp Chưa Sẵn Sàng

# ❌ Lỗi
go run main.go
# Lỗi: "command not found: go"

🔧 Cách sửa: Bếp chưa được cài đặt! Quay lại bài Installation để setup bếp

Lỗi 2: Quên Đặt Tên Bếp

# ❌ Lỗi
go run main.go
# Lỗi: "cannot find package"

# ✅ Sửa: Phải đặt tên bếp trước
go mod init pho-don-gian
go run main.go

🔧 Cách sửa: Quên chạy go mod init - phải đặt tên cho bếp!

Lỗi 3: Công Thức Viết Sai

// ❌ Sai: Thiếu dấu ngoặc
fmt.Println("Phở nóng đây!

// ✅ Đúng: Đủ dấu ngoặc
fmt.Println("Phở nóng đây!")

🔧 Cách sửa: Kiểm tra dấu ngoặc kép "" phải đóng đủ

Lỗi 4: Viết Sai Tên Dụng Cụ

// ❌ Sai: Viết hoa sai
fmt.println("Phở") // "println" viết thường

// ✅ Đúng: Chữ P viết hoa
fmt.Println("Phở")

🔧 Cách sửa: Go phân biệt chữ hoa/thường - phải viết chính xác!

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

Bí Quyết 1: Comment Công Thức

// ✅ Tốt: Giải thích rõ ràng
package main

import "fmt"

// Công thức phở cơ bản cho người mới
func main() {
fmt.Println("🍜 Phở nóng đây!")
}

Bí Quyết 2: Format Code Đẹp

# Tự động sắp xếp code đẹp
go fmt main.go

👨‍🍳 Lời khuyên: Chạy go fmt như việc dọn bếp sạch sẽ!

Bí Quyết 3: Đặt Tên Có Ý Nghĩa

# ✅ Tốt
mkdir pho-bo-tai
mkdir bun-cha-ha-noi

# ❌ Không tốt
mkdir project1
mkdir test

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

  • ✅ Cấu trúc cơ bản của chương trình Go (package, import, func main)
  • ✅ Cách in text ra màn hình với fmt.Println()
  • ✅ Cách chạy chương trình với go run
  • ✅ Sửa lỗi cơ bản khi nấu món đầu tiên

🍜 Món Tiếp Theo

Bạn đã nấu được món phở đầu tiên! Tiếp theo chúng ta sẽ học:

👉 Nguyên Liệu Cơ Bản - Basics - Học về các loại nguyên liệu (variables & data types)


💡 Lời Khuyên Cuối: Món đầu tiên có thể không ngon lắm, nhưng đừng lo! Hãy thử nhiều lần, sửa lỗi, và dần dần bạn sẽ thành thạo. Đầu bếp giỏi nào cũng từng đốt cháy món!