GoLang là gì?
Golang là một ngôn ngữ lập trình mã nguồn mở do Google phát triển, ngôn ngữ này được thiết kế với mục tiêu tạo ra một ngôn ngữ dễ học, hiệu quả và có khả năng mở rộng cho các phần mềm hệ thống lớn.
Go (Golang) còn được biết đến là một ngôn ngữ Static Typed, mọi thứ trong Go đều phải có kiểu dữ liệu và không thể thay đổi kiểu dữ liệu đó trong suốt quá trình thực thi chương trình, trái với các ngôn ngữ Dynamic Typed như Javascript hoặc Python không yêu cầu bạn phải khai báo kiểu dữ liệu rõ ràng, kiểu dữ liệu của một biến có thể thay đổi trong suốt quá trình thực thi, và việc kiểm tra kiểu dữ liệu được thực hiện trong runtime (thời gian chạy).
Các đặc điểm và tính năng nổi bật của Golang
Cú pháp đơn giản và hiệu quả
Golang có cú pháp tương tự như C nhưng bổ sung nhiều tính năng nhằm cải thiện tính an toàn và hiệu suất như an toàn bộ nhớ, thu gom rác, loại cấu trúc dữ liệu và xử lý đồng thời (đồng thời).
Một số đặc điểm nổi bật khi viết mã bằng Go (so với ngôn ngữ khác):
- Biến khai báo có thể được đơn giản hóa với loại dữ liệu được xác định tự động trong một số trường hợp. Ví dụ: được phép sử dụng x := 0 thay vì var x int = 0 hoặc var x = 0.
- Hàm trong Golang có thể trả về nhiều giá trị, thường được sử dụng để trả về kết quả và lỗi trạng thái của một hàm.
- Golang hỗ trợ một loạt các kiểu dữ liệu tích hợp và làm cho việc xử lý mảng (arrays), lát (slices), và bản đồ (maps) trở nên đơn giản.
- Câu lệnh cho phép tạo vòng lặp một cách dễ dàng.
Được phép phát triển mã tiện lợi và đa năng
Các hướng phát triển có lợi và chạy mã của Golang mang lại sự tiện lợi và đa năng:
- Bộ công cụ biên dịch “ gc ” tự lưu trữ của Google, hướng dẫn nhiều hệ điều hành và WebAssembly.
- Giao diện “ gofrontend ” cho các trình biên dịch khác, kèm theo libgo thư viện.
Khả năng biên dịch và chạy tối đa
Một điểm nổi bật khác của Golang là khả năng biên dịch JavaScript để phát triển giao diện người dùng web thông qua GopherJS. Golang được tạo ra để tăng cường hiệu suất hoạt động trong thế giới hiện đại khi các chip có thể hỗ trợ chạy đa lõi, tăng cường kết nối mạng và kích thước của nguồn mã lớn.
Mục tiêu của Golang là sự kết hợp những điểm mạnh của ngôn ngữ động như Python với hiệu suất và toàn bộ kiểu của ngôn ngữ như C.
Hỗ trợ đồng thời
Một tính năng đặc biệt khác của Golang được hỗ trợ đồng thời bằng ngôn ngữ, goroutines thông qua và các kênh.
Tính năng này cho phép người lập trình viết hiệu suất ứng dụng cao và khả năng mở rộng, làm cho Golang đặc biệt phù hợp với web máy chủ, dữ liệu đường ống và các hệ thống khác Yêu cầu độ đồng thời cao.
Cú pháp cơ bản của 1 đoạn Go
- package main : Mỗi file Go phải thuộc về một package. Khi bạn khai báo package main , bạn chỉ định rằng tập tin này sẽ là điểm khởi động của chương trình. Chương trình Go chỉ có thể chạy nếu có gói main với hàm main() bên trong.
- import “fmt” : Dòng này cho phép bạn sử dụng gói
fmt
trong mã của bạn. Package fmt cung cấp các hàm để định dạng và ra dữ liệu, ví dụ như hàm Println mà bạn sẽ sử dụng trong hàm main().
- func main() : Đây là khai báo của hàm main, function main mà Go sẽ chạy đầu tiên khi bạn thực hiện chương trình này. Mọi chương trình Go đều bắt đầu từ hàm main() trong package main.
- fmt.Println(“Hello, World!”) : Dòng này sử dụng hàm Println từ gói fmt để in ra chuỗi “Hello, World!”. Hàm Println sẽ tự động thêm một dòng mới sau khi vào, nên khi chạy chương trình, bạn sẽ thấy thông báo này trên dòng mới.