Lập trình Go 22/09/2026 9 phút

Build tags trong Go: một mã nguồn, nhiều binary theo điều kiện biên dịch

Build tags cho phép chọn tệp nào được biên dịch theo hệ điều hành, kiến trúc, hoặc cờ tùy biến. Đo thật trong Go 1.23 hai cơ chế: chỉ thị //go:build với biểu thức logic, và hậu tố tên tệp _GOOS.go — cùng go list chứng minh chính xác tệp nào lọt vào build.

Lập trình Go 22/09/2026 12 phút

Bloom filter tự cài trong Go: kiểm "có thể có" bằng vài bit

Bloom filter là cấu trúc xác suất trả lời phần tử có thể có trong tập hay chắc chắn không — chỉ bằng một mảng bit và k hàm băm, không lưu phần tử. Đo thật khi tự cài trong Go: 1 triệu phần tử, 0 âm tính giả, dương tính giả đúng 1% như thiết kế, và bộ nhớ 1.20 MB so với 56.1 MB của set thường.

Lập trình Go 22/09/2026 10 phút

Memory-mapped file (mmap) trong Go: đọc tệp lớn không qua heap

os.ReadFile sao chép toàn bộ tệp vào heap Go. mmap ánh xạ tệp thẳng vào không gian địa chỉ, đọc như slice byte, để HĐH nạp trang theo nhu cầu — không copy, không heap, không áp lực GC. Đo thật trong Go: đọc tệp 200 MB, ReadFile tốn +191 MB heap và 125ms, mmap chỉ +0 MB heap và 31ms.