[Go] Tìm hiểu về Biến (Variable) trong Golang

65

[Go] Tìm hiểu về Biến (Variable) trong GolangCuongquach.com | Chúng ta cùng tìm hiểu nội dung cơ bản khi học lập trình ngôn ngữ Go (Golang), đó là làm chủ việc khai báo Biến (variable) trong Golang nhé.

tim-hieu-ve-bien-trong-golang

Variable là gì ?

Nếu các bạn có nhớ qua thuật ngữ biến số trong Toán học nghĩa là một số có thể bị thay đổi, thì biến dữ liệu (variable) trong lập trình nghĩa là một giá trị dữ liệu có thể thay đổi. Thay đổi ở đây nghĩa là thay đổi bởi các tác động trong mã nguồn của bạn, ví dụ có một hàm nào đó thực thi để thay đổi giá trị của biến.

Các kiểu dữ liệu trong Variable

  • byte
  • int
  • float32
  • float64
  • string
  • bool
  • uint

Bạn có thể sử dụng trang chạy code Go online để thực hành mà không cần laptop : https://play.golang.org

1. Khai báo biến (variable) trong Go

Có 2 cách để khai báo biến trong Golang :

1.1 Cú pháp 1

Bạn khai báo tên biến, kiểu dữ liệu của biến và giá trị của biến (‘initialValue‘) nếu muốn. Trong đó ‘initialValue‘ là phần phụ, bạn có thể không cần khai báo.

Ví dụ 1:

Lúc này các biến trên đều đã được khai báo sử dụng, nhưng chưa có giá trị biến nào cả. Chúng ta sẽ chứa giá trị ‘zero-value‘ khi không có giá trị biến được khởi tạo. Sau đó bạn có thể gán giá trị cho biến như sau :

Nhìn thì thấy tốn thời gian code thêm 1 dòng để nhập giá trị biến thì ta có thể khai báo giá trị biến luôn khi khai báo biến với cú pháp 1.

Nếu bạn bỏ phần ‘dataType‘ (kiểu dữ liệu) đi khi khai báo biến, thì Go cũng đủ thông minh để nhận diện kiểu dữ liệu của bạn dựa trên giá trị biến đấy.

Code mẫu :

Bạn có thể khai báo biến với cú pháp 1 ở trong và ngoài hàm function.

Ví dụ : ngoài hàm function , bạn có thể truy xuất biến từ trong các function khác.

Ví dụ : trong hàm function, thì biến đó mang tính chất local của hàm đó, không thể truy xuất từ hàm khác.

1.2 Cú pháp 2 (short-hand declaration)

Go hỗ trợ hình thức khai báo biến cùng giá trị biến ngắn gọn, giúp bạn code lẹ hơn với cú pháp 2 là ‘:=‘. Go tự nhận biết được kiểu dữ liệu dựa trên giá trị biến.

Cú pháp này cũng có thể sử dụng để khởi tạo biến và gán giá trị biến từ kết quả trả về của 1 hàm khác.

Code mẫu:

Lưu ý:
– Bạn chỉ có thể xài cú pháp 2 trong một hàm function , nếu xài ngoài block hàm function thì sẽ lỗi.
– Nếu bạn đã khai báo cú pháp 2 để khởi tạo biến, mà khởi tạo lại lần nữa sẽ gặp lỗi thông báo khi build rằng biến này đã được khởi tạo rồi.

Hai dòng code khai báo dưới sẽ bị lỗi, khi khai báo lại mới biến ‘a’ và ‘b’ lần nữa.

1.3 Zero-value

Bất kì biến nào được khai báo nhưng không có có giá trị biến (initial value) thì sẽ có một giá trị 0 (zero value). Giá trị 0 này sẽ riêng cho từng loại kiểu dữ liệu.

  • bool : false
  • string : “”
  • int, int8, int16 : 0
  • float32, float64 : 0.0

Code mẫu:

2. Khai báo nhiều biến cùng lúc

Cú pháp:

Bạn có thể khai báo nhiều biến, kiểu dữ liệu của các biến và nhiều giá trị biến cùng lúc. Dưới đây là khai báo 3 biến cùng 1 kiểu dữ liệu :

hoặc vừa khai báo vừa gán giá trị tuần tự từng biến.

hoặc

Cũng có thể áp dụng cú pháp 2 (:=) đấy.

Cũng đơn giản phải không nào ?!

3. Khai báo biến trong block ‘var()’

Bạn có thể sử dụng cú pháp block ‘var()‘ để khai báo biến mà bạn mong muốn như ở trên, giúp tiết kiệm thời gian. Block ‘var()‘ là một cách quy hoạch việc khai báo biến để nhìn code tường minh hơn thôi.

Ví dụ : bạn phải khai báo 3 lần cho 3 biến như dưới

thì bạn có thể khai báo ‘var()‘ một lần cho 3 biến.

Lưu ý :

  • Không hỗ trợ cú pháp (:=) .
  • Có thể khai báo var() trong và ngoài function.

4. Lưu ý khác

– Khi bạn code Go, thì Go thường khuyến khích bạn sử dụng cú pháp đặt tên dính liền ‘myName‘ thay vì ‘my_name‘, thật ra thì cái này cũng tuỳ sở thích mỗi người thôi.

Nguồn: https://cuongquach.com/

LEAVE A REPLY