Làm thế nào để sử dụng các điều kiện trong Go
Các câu lệnh có điều kiện cho phép bạn thực hiện các quyết định dựa trên logic đánh giá là đúng hoặc sai. Một số ví dụ về câu lệnh điều kiện bao gồm câu lệnh if, if… else, if… else if .. else và câu lệnh switch-case. Go có hỗ trợ đầy đủ cho các điều kiện này với một cú pháp quen thuộc và đơn giản.
Mục Lục
Bắt đầu với Golang
Để làm theo hướng dẫn này, hãy cài đặt Go trong môi trường cục bộ của bạn nếu bạn chưa cài đặt. Bạn cũng có thể kiểm tra các đoạn mã trong bài viết này bằng cách sử dụng sân chơi cờ vây.
Nếu tuyên bố
Các nếu câu lệnh chỉ thực thi một khối mã nếu một điều kiện nhất định được đáp ứng. Đây là cú pháp:
if condition {
}
Đây là một ví dụ in ra “Pass” nếu giá trị của biến dấu lớn hơn 50:
marks := 60if marks > 50 {
fmt.Println("Pass")
}
Bạn cũng có thể khai báo biến dấu trong câu lệnh if như sau:
if marks := 60; marks > 50 {
fmt.Println("Pass")
}
Khi kết hợp các điều kiện, Go cho phép bạn sử dụng các toán tử logic quen thuộc từ các ngôn ngữ khác như AND (&&), OR (||) và NOT (!).
Toán tử AND chỉ trả về true nếu giá trị bên phải và bên trái của nó là true:
sunny := true
noClass := trueif sunny && noClass {
fmt.Println("Go to the beach")
}
Toán tử OR trả về true nếu một trong các giá trị ở bên phải hoặc bên trái là true:
today := "Sunday"if today == "Sunday" || today == "Saturday" {
fmt.Println("Sleep in")
}
Toán tử NOT chỉ trả về true nếu giá trị là false:
marks := trueif !marks {
fmt.Println("No marks available!")
}
Nếu… Tuyên bố khác
Các nếu khác câu lệnh thực thi đoạn mã tương ứng tùy thuộc vào điều kiện có được đáp ứng hay không.
if condition {
} else {
}
Trong ví dụ bên dưới, chương trình sẽ in ‘Đạt’ nếu tổng giá trị điểm trên 50 và ‘Không đạt’ nếu dưới đây.
marks := 60if marks > 50 {
fmt.Println("Pass")
} else {
fmt.Println("Fail")
}
Nếu… Khác Nếu… Tuyên bố Khác
Các nếu… khác nếu… khác câu lệnh cho phép bạn kết hợp nhiều câu lệnh if.
if condition1 {
} else if condition2 {
} else {
}
Mở rộng nếu khác ví dụ, chương trình bên dưới cũng kiểm tra xem các điểm có trên 80 hay không và in “Đạt phân biệt” nếu có:
marks := 60if marks > 80 {
fmt.Println("Passed with distinction")
} else if marks > 50 {
fmt.Println("Pass")
} else {
fmt.Println("Fail")
}
Chuyển đổi Tuyên bố
Các công tắc câu lệnh là một câu lệnh điều kiện cho phép bạn thực hiện các hành động khác nhau dựa trên giá trị của một biểu thức. Bạn có thể xác định các giá trị quan trọng là “trường hợp” và hành động theo các giá trị đó.
Câu lệnh switch trong Go hơi khác so với trong các ngôn ngữ lập trình khác như C #, JavaScript và Python. Điều này là do nó chỉ thực thi khối mã trong trường hợp đã gặp. Từ khóa break, được yêu cầu bởi các ngôn ngữ khác, không cần thiết ở đây:
switch expression {
case expr1:
case expr2:
default:
}
Đoạn mã trên đánh giá biểu thức sau từ khóa switch, sau đó so sánh nó với từng giá trị trường hợp. Nếu một giá trị khớp, khối sau sẽ chạy. Bạn có thể có bao nhiêu trường hợp bạn cần, nhưng tất cả chúng phải là duy nhất. Khối mặc định sẽ chạy nếu không có kết quả phù hợp.
Ví dụ sau sử dụng câu lệnh switch để hiển thị một mục “việc cần làm” cho mỗi ngày trong tuần.
package mainimport (
"fmt"
"time"
)
func main() {
today := time.Now().Weekday()
switch today {
case 0:
fmt.Println("Relax.")
case 1:
fmt.Println("Clean the house.")
case 2:
fmt.Println("Visit the dentist.")
case 3:
fmt.Println("Weed the garden.")
case 4:
fmt.Println("Send gifts")
case 5:
fmt.Println("Do laundry.")
case 6:
fmt.Println("Write a blog post.")
default:
fmt.Println("No task scheduled.")
}
}
Ở đây, gói thời gian của Go cung cấp ngày trong tuần dưới dạng số nguyên và tùy thuộc vào giá trị đó, câu lệnh switch sẽ in ra một nhiệm vụ nhất định.
Khi nào sử dụng câu lệnh có điều kiện
Câu lệnh điều kiện giúp bạn tạo luồng quyết định trong chương trình của mình. Giống như nhiều ngôn ngữ khác, Go hỗ trợ một số loại câu lệnh điều kiện. Bạn có thể sử dụng chúng để sắp xếp hợp lý chương trình của mình và đảm bảo hoạt động logic của nó là chính xác.
Sử dụng câu lệnh điều kiện khi luồng chương trình của bạn phụ thuộc vào một giá trị nhất định chẳng hạn như đầu vào của người dùng.
Đọc tiếp