Saturday, February 22, 2025

[Golang] Phần 2 – Go Syntax

-

1. Go Syntax.

Cú pháp (syntax) của ngôn ngữ lập trình Go được thiết kế để đơn giản, dễ đọc và dễ hiểu.

Dưới đây là mô tả chi tiết về cấu trúc của một file Go (Golang):

Khai báo Package.

package main

Trong Go, mỗi chương trình đều thuộc một package và main là package đặc biệt nó đánh dấu điểm bắt đầu thực thi của chương trình.

Import Packages.

import ("fmt")

Dòng này được sử dụng để nhập một hoặc nhiều packages vào chương trình. Ở đây, fmt là một packages chuẩn trong Go, được sử dụng để định dạng và in ra thông báo.

Hàm (Functions).

Chương trình Go thực thi từ hàm main().

func main() {
  // Các câu lệnh bên trong hàm main
  fmt.Println("Hello World!")
}

Trong Go, bất kỳ lệnh nào bạn muốn chạy khi chương trình bắt đầu đều phải được đặt trong hàm main.

Câu lệnh và biểu thức (Statements and Expressions).

Trong ví dụ này, câu lệnh duy nhất bên trong hàm main là:

fmt.Println("Hello World!")

fmt.Println là một hàm từ packages fmt, được sử dụng để in ra màn hình. Câu lệnh này in chuỗi “Hello World!” ra màn hình khi chương trình chạy.

Như vậy, đoạn code này đại diện cho một chương trình Go cơ bản in ra màn hình dòng chữ “Hello World!”. Cấu trúc cơ bản của một chương trình Go thường sử dụng các khối như packages, import, function và các câu lệnh để thực hiện các công việc cụ thể.

  • Đoạn code Golang sẽ chạy từ trên xuống dưới như sau:
    • Khai báo package của chương trình. Trong trường hợp này, chương trình thuộc package chính là main. Package main là nơi bắt đầu thực thi của chương trình.
    • Sử dụng để nhập các packages cần thiết. Trong ví dụ trên, gói fmt được import để sử dụng Println để giá trị ra màn hình.
    • Khai báo một function có tên là main. Trong chương trình Go, function main là nơi bắt đầu thực thi đoạn code nằm ở trong nó. Bất kỳ đoạn code nào bạn muốn chạy khi chương trình bắt đầu đều nằm trong cặp ngoặc nhọn {} của function main.
    • Gọi Println từ gói fmt để in ra màn hình chuỗi “Hello World!”. Câu lệnh này thực hiện công việc chính của chương trình là in ra thông báo “Hello World!”.
Lưu ý là trong Go, bất kỳ lệnh nào muốn chạy cần phải nằm trong package main và chương trình sẽ bắt đầu thực thi từ function main.

Mọi chương trình Go đều bắt đầu thực thi từ một function main trong package main. Cụ thể, khi bạn biên dịch và chạy một chương trình Go, trình biên dịch sẽ tìm kiếm và thực thi function main trong package main. Điều này giúp tổ chức chương trình và làm cho quy trình thực thi rõ ràng và dễ theo dõi.

Ví dụ 1 – Xem lại ví dụ Hello World như sau.

package main
import ("fmt")

func main()
{
  fmt.Println("Hello World!")
}

Đoạn Go trên in ra màn hình dòng chữ “Hello World!”.

  • Khai báo Package.
    • package main: Khai báo package của chương trình. Trong Go, mỗi chương trình bắt đầu từ một package và package main là package đặc biệt chỉ định nơi bắt đầu thực thi của chương trình.
  • Import Package.
    • import ("fmt"): Dòng này import gói fmt, đây là một package chuẩn trong Go, giúp chương trình thực hiện các thao tác định dạng giá trị và in giá trị ra màn hình.
  • Main Function.
    • func main() {...}: Đây là hàm chính của chương trình. Mọi chương trình Go bắt đầu thực thi từ hàm main.
    • Trong ví dụ trên thì hàm chỉ chứa một câu lệnh.
  • Câu lệnh in ra màn hình (Print Statement).
    • fmt.Println("Hello World!"): Dòng này sử dụng Println từ package fmt để in ra màn hình dòng chữ “Hello World!” và thêm một dòng mới.
  • Các quy tắc cú pháp:
    • Câu lệnh trong Go có thể được ngăn cách bằng cách kết thúc dòng hoặc sử dụng dấu chấm phẩy ;. Tuy nhiên, thường thì không cần dấu chấm phẩy vì trình biên dịch tự động sẽ chèn chúng vào cuối mỗi dòng.
    • Dấu ngoặc nhọn { không nên đứng ở đầu dòng mà phải nằm ở cuối dòng khai báo hàm hoặc cấu trúc điều khiển.

Khi bạn chạy chương trình này, nó sẽ in ra màn hình dòng chữ “Hello World!” theo như đã được định nghĩa trong hàm main().

Ví dụ 2 – Dưới đây là một ví dụ về cách viết mã nguồn Go một cách ngắn gọn nhưng việc làm này thường không được khuyến khích vì nó làm rối đoạn code và giảm khả năng đọc hiểu của code, nhất là đối với người mới tiếp nhận code.

package main; import ("fmt"); func main() { fmt.Println("Hello World!");}
  • Khai báo Package.
    • package main: Khai báo package của chương trình. Trong Go, mỗi chương trình bắt đầu từ một package và package main là package đặc biệt chỉ định nơi bắt đầu thực thi của chương trình.
  • Import Package.
    • import ("fmt"): Dòng này import gói fmt, đây là một package chuẩn trong Go, giúp chương trình thực hiện các thao tác định dạng giá trị và in giá trị ra màn hình.
  • Main Function.
    • func main() { fmt.Println("Hello World!");}: Hàm main và nội dung của nó được đặt trong cùng một dòng. Mặc dù có thể giảm số lượng dòng, nhưng điều này làm tăng khả năng nhầm lẫn và giảm tính đọc hiểu code của bạn.

Trong nhiều dự án Go, cộng đồng thường ưa chuộng việc giữ cho code rõ ràng và dễ đọc. Code ngắn gọn có thể trở nên khó hiểu đối với người đọc, đặc biệt là đối với những dự án lớn và phức tạp. Do đó, việc duy trì sự rõ ràng và đọc hiểu luôn được ưu tiên hơn so với sự ngắn gọn.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories