Skip to main content

Hello World trong Go - Chương trình đầu tiên của bạn! 👋

Chào mừng bạn đến với thế giới lập trình Go! Trong bài học này, chúng ta sẽ tạo chương trình đầu tiên của bạn - một chương trình đơn giản in ra dòng chữ "Hello, World!".

Tại sao lại là "Hello World"? 🤔

"Hello World" giống như việc nói "Xin chào" khi bạn gặp một người mới. Đây là cách đơn giản nhất để bắt đầu một cuộc trò chuyện với máy tính. Khi bạn viết chương trình "Hello World", bạn đang nói với máy tính: "Này, hãy nói chuyện với tôi!"

Các bước tạo chương trình

1. Tạo thư mục cho dự án 🗂️

Đầu tiên, chúng ta cần tạo một nơi để lưu trữ code của mình, giống như việc bạn cần một quyển vở để ghi bài. Mở Terminal (Command Prompt trên Windows) và gõ các lệnh sau:

mkdir hello-world
cd hello-world

💡 Giải thích:

  • mkdir là viết tắt của "make directory" (tạo thư mục)
  • cd là viết tắt của "change directory" (chuyển thư mục)
  • Giống như việc bạn tạo một quyển vở mới và mở nó ra để bắt đầu viết

2. Khởi tạo module Go 🚀

Tiếp theo, chúng ta cần báo cho Go biết rằng đây là một dự án mới:

go mod init hello-world

💡 Giải thích:

  • go mod init giống như việc bạn đặt tên cho quyển vở của mình
  • hello-world là tên của dự án của bạn
  • Điều này giúp Go biết cách quản lý code của bạn

3. Tạo file chương trình 📝

Bây giờ, hãy tạo một file mới có tên main.go và viết code sau:

package main

import "fmt"

func main() {
fmt.Println("Hello, World!")
}

💡 Giải thích chi tiết từng dòng:

  1. package main:
    • Giống như việc bạn nói "Đây là quyển vở chính của tôi"
    • Mọi chương trình Go đều cần có package main
  2. import "fmt":
    • Giống như việc bạn mượn một cái bút để viết
    • fmt là package giúp chúng ta in chữ ra màn hình
  3. func main():
    • Đây là nơi chương trình bắt đầu chạy
    • Giống như việc bạn bắt đầu viết bài từ trang đầu tiên
  4. fmt.Println("Hello, World!"):
    • Đây là lệnh in chữ ra màn hình
    • Giống như việc bạn viết "Xin chào" vào vở

Chạy chương trình 🎮

Để xem kết quả, gõ lệnh sau vào Terminal:

go run main.go

Bạn sẽ thấy:

Hello, World!

💡 Giải thích:

  • go run giống như việc bạn đọc to bài viết của mình
  • Kết quả "Hello, World!" là những gì chương trình của bạn nói

Thử nghiệm với chương trình 🎯

1. Thay đổi nội dung in ra

fmt.Println("Xin chào, tôi là người mới học lập trình!")

2. In nhiều dòng

fmt.Println("Dòng 1")
fmt.Println("Dòng 2")
fmt.Println("Dòng 3")

3. In với định dạng

name := "Hùng"
fmt.Printf("Xin chào, %s!\n", name)

💡 Giải thích:

  • Printf giống như việc điền vào chỗ trống
  • %s là chỗ trống cho chuỗi
  • \n là xuống dòng

Những lỗi thường gặp và cách sửa 🔧

  1. Lỗi: "command not found: go"

    # ❌ Sai
    go run main.go # Lỗi: không tìm thấy lệnh go

    # ✅ Đúng
    # Kiểm tra lại việc cài đặt Go trong bài học trước
  2. Lỗi: "cannot find package"

    # ❌ Sai
    go run main.go # Lỗi: không tìm thấy package

    # ✅ Đúng
    go mod init hello-world
    go run main.go
  3. Lỗi: "syntax error"

    // ❌ Sai
    fmt.Println("Hello, World! // Thiếu dấu ngoặc kép đóng

    // ✅ Đúng
    fmt.Println("Hello, World!")

Best Practices 🌟

1. Đặt tên thư mục có ý nghĩa

# ✅ Tốt
mkdir hello-world
mkdir my-first-program

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

💡 Lý do: Giúp bạn và người khác dễ hiểu mục đích của chương trình

2. Luôn có comment giải thích

// ✅ Tốt
// Đây là chương trình in lời chào
package main

// ❌ Không tốt
package main // Không có giải thích

💡 Lý do: Giúp code dễ đọc và dễ bảo trì hơn

3. Sử dụng định dạng code chuẩn

// ✅ Tốt
func main() {
fmt.Println("Hello, World!")
}

// ❌ Không tốt
func main(){
fmt.Println("Hello, World!")
}

💡 Lý do: Giúp code dễ đọc và tránh lỗi

Tiếp theo 🎯

Bây giờ bạn đã biết cách tạo và chạy chương trình đầu tiên! Trong bài học tiếp theo, chúng ta sẽ tìm hiểu về:

  • Các kiểu dữ liệu cơ bản (số, chữ, đúng/sai)
  • Cách lưu thông tin vào biến
  • Cách làm việc với dữ liệu

💡 Lời khuyên: Hãy thử thay đổi nội dung trong dấu ngoặc kép của fmt.Println() để in ra những thông điệp khác nhau. Ví dụ: "Xin chào bạn!", "Tôi thích lập trình!", v.v.