Skip to main content

Switch trong Go

Lệnh switch

Giả sử chúng ta muốn in các chữ số bằng chữ, chúng ta có thể viết đoạn code như sau:

if.go

if i == 0 {
    fmt.Println("Khong")
} else if i == 1 {
    fmt.Println("Mot")
} else if i == 2 {
    fmt.Println("Hai")
} else if i == 3 {
    fmt.Println("Ba")
} else if i == 4 {
    fmt.Println("Bon")
} else if i == 5 {
    fmt.Println("Nam")
}

Thay vì dùng câu lệnh if như trên, chúng ta có thể dùng câu lệnh switch như sau:

switch.go

switch i {
    case 0:  fmt.Println("Khong")
    case 1:  fmt.Println("Mot")
    case 2:  fmt.Println("Hai")
    case 3:  fmt.Println("Ba")
    case 4:  fmt.Println("Bon")
    case 5:  fmt.Println("Nam")
    default: fmt.Println("Khong biet")
}

Chúng ta dùng từ khóa switch, theo sau là một biểu thức điều kiện, rồi tới một danh sách các từ khóa case, ứng với mỗi từ khóa case là một giá trị nào đó, rồi tới dấu 2 chấm : và các lệnh sẽ được thực hiện.

Ý nghĩa của lệnh switch là, nếu biểu thức điều kiện ở switch cho kết quả trùng với giá trị ở từ khóa case nào thì thực hiện các câu lệnh sau từ khóa case đó. Ngoài ra ở đây chúng ta còn có từ khóa default, có tác dụng thực hiện các câu lệnh nếu giá trị ở switch không trùng với bất kì từ khóa case nào.