Golang Basic
📌 2. Cấu trúc ngôn ngữ và cú pháp cơ bản
2.1. Biến & Hằng số: var, const
Trong Go, biến và hằng số là cách bạn lưu trữ dữ liệu.
Biến (var):
Khai báo biến bằng cú pháp: var tên_biến kiểu_dữ_liệu.
Go hỗ trợ khai báo ngắn gọn bằng := (chỉ dùng trong hàm).
Ví dụ:
Hằng số (const):
Dùng để khai báo giá trị không thay đổi.
Không thể dùng := với const.
Tips: Go rất nghiêm ngặt, nếu khai báo biến mà không dùng, compiler sẽ báo lỗi. Điều này giúp code sạch hơn.
2.2. Kiểu dữ liệu
Go có các kiểu dữ liệu cơ bản và nâng cao:
Cơ bản:
int, int32, int64: Số nguyên (kích thước phụ thuộc kiến trúc máy hoặc chỉ định rõ).
float32, float64: Số thực.
string: Chuỗi ký tự.
bool: True/False.
Tập hợp:
array: Mảng cố định kích thước.
slice: Mảng động (linh hoạt hơn array).
Dữ liệu phức tạp:
map: Từ điển (key-value pair).
struct: Kiểu dữ liệu tự định nghĩa.
interface: Kiểu trừu tượng, dùng để định nghĩa hành vi.
Ví dụ tổng hợp:
2.3. Cấu trúc điều kiện & vòng lặp
Go đơn giản hóa các cấu trúc điều khiển luồng.
if-else:
Không cần dấu ngoặc cho điều kiện, nhưng bắt buộc có {}.
Hỗ trợ khai báo biến trong if.
Ví dụ:
switch-case:
Không cần break (Go tự động thoát sau mỗi case).
Ví dụ:
for:
Go chỉ có for (không có while hay do-while).
Dạng cơ bản:
Dạng vòng lặp vô hạn:
Duyệt slice/map:
2.4. Hàm & Defer: func, defer, panic, recover
Hàm là cốt lõi của Go, rất mạnh mẽ và linh hoạt.
Hàm cơ bản:
Có thể trả về nhiều giá trị.
defer:
Hoãn thực thi một lệnh đến khi hàm kết thúc.
panic & recover:
panic: Dừng chương trình khi gặp lỗi nghiêm trọng.
recover: Bắt lỗi từ panic để chương trình không crash.
2.5. Package & Import
Go tổ chức code theo package để tái sử dụng và bảo trì tốt hơn.
Tạo package:
Tạo thư mục mathutils và file math.go:
Dùng trong main.go:
Với module:
Nếu dùng module, thêm module vào go.mod và import bằng tên module.
📌 Bài tập thực hành
Viết chương trình khai báo một struct Student với các trường Name (string) và Score (int), sau đó in thông tin của 3 học sinh.
Viết hàm max nhận 2 số int và trả về số lớn hơn, dùng if-else.
Dùng for để in bảng cửu chương của 5.
Tạo một map lưu tên và tuổi của 3 người, sau đó duyệt và in ra bằng range
Last updated