Rate this post

Lệnh if và else trong GOLang

Trong ngôn ngữ lập trình GOLang, lệnh if và else được sử dụng để thực hiện kiểm tra điều kiện và thực hiện các hành động khác nhau dựa trên kết quả của điều kiện. Dưới đây là cú pháp và cách sử dụng lệnh if và else trong GOLang:

Cú pháp lệnh if đơn giản như sau:

if condition {
   // Thực hiện hành động khi điều kiện đúng
}

Ví dụ:

age := 18

if age >= 18 {
   fmt.Println("Bạn đã đủ tuổi để lái xe.")
}

Khi điều kiện trong lệnh if là đúng (true), hành động bên trong ngoặc nhọn sẽ được thực hiện. Trong ví dụ trên, nếu age lớn hơn hoặc bằng 18, câu thông báo “Bạn đã đủ tuổi để lái xe” sẽ được in ra màn hình.

Để thực hiện hành động khác khi điều kiện không đúng, chúng ta có thể sử dụng lệnh if else:

if condition {
   // Thực hiện hành động khi điều kiện đúng
} else {
   // Thực hiện hành động khi điều kiện không đúng
}

Ví dụ:

age := 16

if age >= 18 {
   fmt.Println("Bạn đã đủ tuổi để lái xe.")
} else {
   fmt.Println("Bạn chưa đủ tuổi để lái xe.")
}

Trong ví dụ trên, nếu age là 16, điều kiện trong lệnh if là sai (false), vì vậy câu thông báo “Bạn chưa đủ tuổi để lái xe” sẽ được in ra màn hình.

Lệnh if và else trong GOLang cho phép chúng ta thực hiện kiểm tra điều kiện và lựa chọn hành động phù hợp dựa trên kết quả của điều kiện đó.

Xem thêm switch case trong C++ là gì ?

Lệnh switch trong GOLang

Trong ngôn ngữ lập trình GOLang, lệnh switch được sử dụng để thực hiện kiểm tra một biến hoặc giá trị và thực hiện các hành động khác nhau dựa trên các trường hợp (case) tương ứng. Dưới đây là cú pháp và cách sử dụng lệnh switch trong GOLang:

Cú pháp lệnh switch đơn giản như sau:

switch variable {
case value1:
   // Thực hiện hành động khi variable = value1
case value2:
   // Thực hiện hành động khi variable = value2
default:
   // Thực hiện hành động mặc định khi không có trường hợp nào phù hợp
}

Ví dụ:

fruit := "banana"

switch fruit {
case "apple":
   fmt.Println("Đây là một quả táo.")
case "banana":
   fmt.Println("Đây là một quả chuối.")
default:
   fmt.Println("Đây không phải là một trái cây.")
}

Trong ví dụ trên, lệnh switch kiểm tra giá trị của biến fruit. Nếu fruit là “apple”, câu thông báo “Đây là một quả táo.” sẽ được in ra màn hình. Nếu fruit là “banana”, câu thông báo “Đây là một quả chuối.” sẽ được in ra màn hình. Trường hợp default sẽ được thực hiện nếu không có trường hợp nào phù hợp. Trong ví dụ này, nếu fruit là bất kỳ giá trị nào khác, câu thông báo “Đây không phải là một trái cây.” sẽ được in ra màn hình.

Lệnh switch trong GOLang cho phép chúng ta kiểm tra giá trị của biến và lựa chọn hành động tương ứng dựa trên các trường hợp (case).

Vòng lặp trong GOLang

Trong ngôn ngữ lập trình GOLang, có một số loại vòng lặp khác nhau để thực hiện các tác vụ lặp lại. Dưới đây là các loại vòng lặp phổ biến trong GOLang và cách sử dụng chúng:

  1. Vòng lặp for: Cú pháp của vòng lặp for như sau:
for initialization; condition; increment {
   // Thực hiện các hành động lặp lại
}

Ví dụ:

for i := 1; i <= 5; i++ {
   fmt.Println(i)
}

Trong ví dụ trên, vòng lặp for được sử dụng để in ra các số từ 1 đến 5 trên màn hình.

  1. Vòng lặp for-each (range): Vòng lặp for-each được sử dụng để lặp qua các phần tử trong một tập hợp (slice, map, array, string, channel).
for index, value := range collection {
   // Thực hiện các hành động lặp lại
}

Ví dụ:

fruits := []string{"apple", "banana", "orange"}

for index, fruit := range fruits {
   fmt.Println(index, fruit)
}

Trong ví dụ trên, vòng lặp for-each được sử dụng để in ra chỉ mục và giá trị tương ứng của các phần tử trong mảng fruits.

  1. Vòng lặp vô hạn: Vòng lặp vô hạn được sử dụng khi bạn muốn tạo một vòng lặp không có điều kiện dừng.
for {
   // Thực hiện các hành động lặp lại
}

Ví dụ:

count := 0

for {
   fmt.Println("Số lần lặp:", count)
   count++

   if count == 5 {
      break
   }
}

Trong ví dụ trên, vòng lặp vô hạn được sử dụng để in ra số lần lặp và dừng khi count đạt giá trị 5 bằng cách sử dụng lệnh break.

Ngoài ra, còn có các câu lệnh lặp khác như lệnh for loop và lệnh do-while loop không được hỗ trợ trực tiếp trong GOLang. Tuy nhiên, chúng có thể được thực hiện bằng cách sử dụng vòng lặp for hoặc vòng lặp vô hạn kết hợp với các điều kiện điều khiển.

Lệnh defer trong GOLang

Lệnh defer trong ngôn ngữ lập trình GOLang được sử dụng để lên lịch thực hiện một hành động cho đến khi hàm hiện tại hoàn thành, bất kể có xảy ra lỗi hay không. Cú pháp và cách sử dụng lệnh defer như sau:

defer functionCall(arguments)

Ví dụ:

func main() {
   defer fmt.Println("Hàm main kết thúc.")
   
   fmt.Println("Thực hiện các công việc trong hàm main.")
}

Trong ví dụ trên, lệnh defer fmt.Println("Hàm main kết thúc.") được sử dụng để lên lịch in ra “Hàm main kết thúc.” sau khi hàm main hoàn thành. Kết quả của đoạn mã trên sẽ là:

rCopy codeThực hiện các công việc trong hàm main.
Hàm main kết thúc.

Lệnh defer có thể được sử dụng để đảm bảo rằng các tài nguyên được giải phóng hoặc các hành động quan trọng khác được thực hiện ngay trước khi một hàm kết thúc. Các hành động trong lệnh defer được đặt trong một stack và thực hiện theo thứ tự ngược lại sau khi hàm chứa nó hoàn thành. Điều này giúp đảm bảo rằng các tài nguyên không bị leak và các việc quan trọng được hoàn thành đúng thời điểm.

Lệnh goto trong GOLang

Trong ngôn ngữ lập trình GOLang, lệnh goto được sử dụng để chuyển đến một nhãn (label) đã định nghĩa trước đó trong cùng hàm. Lệnh goto cho phép chương trình nhảy tới một vị trí khác trong cùng hàm mà không cần tuân theo trình tự thực hiện thông thường.

Cú pháp lệnh goto như sau:

goto label

Ví dụ:

func main() {
   i := 0

start:
   fmt.Println(i)
   i++

   if i < 5 {
      goto start
   }
}

Trong ví dụ trên, chúng ta sử dụng lệnh goto start để nhảy tới nhãn start. Vòng lặp sẽ tiếp tục lặp lại từ đầu khi i nhỏ hơn 5, cho đến khi i đạt giá trị 5. Kết quả của đoạn mã trên sẽ là:

0
1
2
3
4

Lệnh goto có thể làm cho mã trở nên khó đọc và khó hiểu, và có thể dẫn đến cấu trúc logic phức tạp và khó bảo trì. Do đó, nên sử dụng lệnh goto một cách cẩn thận và hạn chế sử dụng nó trong mã của bạn. Trong hầu hết các trường hợp, các cấu trúc điều khiển khác như vòng lặp và câu lệnh điều kiện sẽ là lựa chọn tốt hơn để quản lý luồng điều khiển của chương trình.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now