← Danh sách bài học
Bài 5/20
🔀 Bài 5: Cấu Trúc Điều Kiện If/Else
🎯 Mục tiêu:
- Sử dụng if, else, else if
- If với short statement
- Switch case trong Go
1. Câu Lệnh If
Kiểm tra điều kiện và thực hiện code nếu điều kiện đúng.
package main
import "fmt"
func main() {
age := 20
if age >= 18 {
fmt.Println("Bạn đã trưởng thành")
}
}
⚠️ Lưu ý: Go KHÔNG cần dấu ngoặc đơn
() quanh điều kiện, nhưng BẮT BUỘC
phải có {}
2. If-Else
age := 15
if age >= 18 {
fmt.Println("Trưởng thành")
} else {
fmt.Println("Chưa trưởng thành")
}
3. If-Else If-Else
score := 75
if score >= 90 {
fmt.Println("Xuất sắc - A")
} else if score >= 80 {
fmt.Println("Giỏi - B")
} else if score >= 70 {
fmt.Println("Khá - C")
} else if score >= 60 {
fmt.Println("Trung bình - D")
} else {
fmt.Println("Yếu - F")
}
// Output: Khá - C
4. If Với Short Statement
Go cho phép khai báo biến ngay trong câu lệnh if.
// Khai báo num trong if, chỉ tồn tại trong block này
if num := 10; num > 5 {
fmt.Println(num, "lớn hơn 5")
}
// fmt.Println(num) // Lỗi! num không tồn tại ở đây
// Ví dụ thực tế: kiểm tra lỗi
if err := doSomething(); err != nil {
fmt.Println("Có lỗi:", err)
}
5. Switch Case
Switch gọn gàng hơn nhiều if-else khi so sánh một giá trị.
day := 3
switch day {
case 1:
fmt.Println("Thứ Hai")
case 2:
fmt.Println("Thứ Ba")
case 3:
fmt.Println("Thứ Tư")
case 4:
fmt.Println("Thứ Năm")
case 5:
fmt.Println("Thứ Sáu")
case 6, 7: // Gộp nhiều case
fmt.Println("Cuối tuần")
default:
fmt.Println("Ngày không hợp lệ")
}
💡 Go tự động break: Không cần viết break như C/Java. Nếu muốn "rơi" xuống case tiếp,
dùng
fallthrough.
6. Switch Không Có Biểu Thức
hour := 14
switch {
case hour < 12:
fmt.Println("Buổi sáng")
case hour < 18:
fmt.Println("Buổi chiều")
default:
fmt.Println("Buổi tối")
}
// Output: Buổi chiều
📝 Tóm Tắt
if condition { }- không cần (), bắt buộc {}if-else,if-else if-elsecho nhiều điều kiện- Short statement:
if x := 5; x > 0 { } switchthay thế nhiều if-else, tự động break