Go - Quyết định

Giới thiệu về Quyết định trong Go

Xin chào các bạnfuture Go programmer! Hôm nay, chúng ta sẽ cùng nhau khám phá một trong những khía cạnh quan trọng nhất của lập trình: quyết định. Giống như trong cuộc sống thực tế, các chương trình của chúng ta cần phải đưa ra các quyết định dựa trên một số điều kiện. Trong Go, chúng ta có nhiều công cụ để thực hiện các quyết định này. Hãy cùng nhau bắt đầu hành trình thú vị này!

Go - Decision Making

Câu lệnh If: Đá nền của Quyết định

Cú pháp và Cấu trúc

Câu lệnh if là nền tảng của quyết định trong Go. Nó cho phép chúng ta thực thi một khối mã chỉ khi một điều kiện cụ thể là đúng. Dưới đây là cấu trúc cơ bản:

if condition {
// mã cần thực thi nếu điều kiện là đúng
}

Hãy xem một ví dụ đơn giản:

package main

import "fmt"

func main() {
age := 18

if age >= 18 {
fmt.Println("Bạn đủ điều kiện để bầu cử!")
}
}

Trong ví dụ này, chúng ta đang kiểm tra nếu age là 18 hoặc lớn hơn. Nếu đúng, chúng ta in ra một thông báo. Chạy mã này, và bạn sẽ thấy thông báo vì 18 thực sự lớn hơn hoặc bằng 18!

Thêm Câu lệnh Else

Vậy nếu chúng ta muốn làm gì đó khi điều kiện là sai? Đó là lúc câu lệnh else được sử dụng:

package main

import "fmt"

func main() {
age := 16

if age >= 18 {
fmt.Println("Bạn đủ điều kiện để bầu cử!")
} else {
fmt.Println("Xin lỗi, bạn quá trẻ để bầu cử.")
}
}

Bây giờ, vì age là 16, nhỏ hơn 18, chương trình sẽ in ra thông báo trong khối else.

Chuỗi If-Else If-Else

Đôi khi, chúng ta cần kiểm tra nhiều điều kiện. Chúng ta có thể liên kết các câu lệnh if-else như sau:

package main

import "fmt"

func main() {
score := 75

if score >= 90 {
fmt.Println("Điểm A")
} else if score >= 80 {
fmt.Println("Điểm B")
} else if score >= 70 {
fmt.Println("Điểm C")
} else {
fmt.Println("Cần cải thiện")
}
}

Chương trình này kiểm tra score và in ra điểm tương ứng. Với điểm số 75, nó sẽ in ra "Điểm C".

Câu lệnh Switch: Công cụ Quyết định Nhiều hướng

Khi bạn có nhiều điều kiện để kiểm tra, đặc biệt là khi chúng đều kiểm tra cùng một biến, câu lệnh switch có thể làm cho mã của bạn sạch sẽ và hiệu quả hơn.

Cú pháp cơ bản của Switch

package main

import "fmt"

func main() {
day := "Monday"

switch day {
case "Monday":
fmt.Println(" Đây là bắt đầu của tuần làm việc!")
case "Friday":
fmt.Println("TGIF!")
default:
fmt.Println(" Đây là một ngày bình thường.")
}
}

Trong ví dụ này, chúng ta kiểm tra giá trị của day và thực thi khối tương ứng. Khối default được thực thi nếu không có khối nào khác khớp.

Switch với Nhiều Trường

Bạn cũng có thể nhóm nhiều trường lại với nhau:

package main

import "fmt"

func main() {
day := "Saturday"

switch day {
case "Monday", "Tuesday", "Wednesday", "Thursday", "Friday":
fmt.Println(" Đây là một ngày trong tuần.")
case "Saturday", "Sunday":
fmt.Println(" Đây là cuối tuần!")
default:
fmt.Println(" Ngày không hợp lệ.")
}
}

Mã này sẽ in ra " Đây là cuối tuần!" vì Saturday là một trong các ngày cuối tuần.

Switch không có Biểu thức

Go cho phép bạn sử dụng switch mà không có biểu thức, có thể được sử dụng thay thế cho chuỗi dài các câu lệnh if-else:

package main

import "fmt"

func main() {
score := 85

switch {
case score >= 90:
fmt.Println("Điểm A")
case score >= 80:
fmt.Println("Điểm B")
case score >= 70:
fmt.Println("Điểm C")
default:
fmt.Println("Cần cải thiện")
}
}

Mã này sẽ in ra "Điểm B" vì 85 lớn hơn hoặc bằng 80.

Các phép toán Điều kiện

Để làm cho các điều kiện của chúng ta mạnh mẽ hơn, chúng ta sử dụng các phép toán điều kiện. Dưới đây là bảng các phép toán phổ biến nhất:

Phép toán Mô tả Ví dụ
== Bằng nhau a == b
!= Không bằng nhau a != b
< Nhỏ hơn a < b
> Lớn hơn a > b
<= Nhỏ hơn hoặc bằng a <= b
>= Lớn hơn hoặc bằng a >= b
&& Logic AND a && b
|| Logic OR a || b
! Logic NOT !a

Hãy xem chúng trong hành động:

package main

import "fmt"

func main() {
age := 25
hasLicense := true

if age >= 18 && hasLicense {
fmt.Println("Bạn có thể lái xe!")
} else if age >= 18 && !hasLicense {
fmt.Println("Bạn đủ tuổi, nhưng bạn cần bằng lái.")
} else {
fmt.Println("Bạn quá trẻ để lái xe.")
}
}

Chương trình này kiểm tra cả agehasLicense để xác định xem người đó có thể lái xe hay không.

Kết luận

Quyết định là một khái niệm cơ bản trong lập trình, và Go cung cấp cho chúng ta các công cụ mạnh mẽ để thực hiện nó. Nhớ rằng, thực hành làm cho hoàn hảo! Hãy thử tạo ra các chương trình của riêng bạn sử dụng if, switch, và các phép toán điều kiện khác.

Trong hành trình tiếp tục của bạn với Go, bạn sẽ thấy mình sử dụng các cấu trúc này thường xuyên. Chúng là nền tảng của logic trong các chương trình của bạn, giúp mã của bạn đưa ra các quyết định thông minh dựa trên các điều kiện khác nhau.

Tiếp tục lập trình, tiếp tục học hỏi, và quan trọng nhất, hãy vui vẻ với Go!

Credits: Image by storyset