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

unsafe.Pointer trong Go: bốn mẫu chuyển đổi hợp lệ, và quy tắc uintptr sống còn

unsafe.Pointer cho phép gạt kiểu an toàn sang bên, nhưng chỉ vài mẫu chuyển đổi là hợp lệ và được runtime bảo đảm. Đo thật trong Go 1.23: các mẫu đúng chạy sạch, go vet bắt mẫu sai lưu uintptr vào biến, và chuyển []byte sang string không sao chép nhanh gấp 136 lần.

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

go.work trong Go: làm việc nhiều module cùng lúc mà không cần replace thủ công

go.work cho phép làm việc với nhiều module local đồng thời trong một workspace, thay cho replace thủ công dễ commit nhầm. Đo thật trong Go 1.23: không go.work thì build lỗi package không tìm thấy, có go.work thì dùng lib local ngay, và go.mod vẫn sạch không một dòng replace.

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

Clean Architecture trong Go: hướng phụ thuộc mà compiler tự ép

Clean Architecture đặt logic nghiệp vụ ở trung tâm, mọi phụ thuộc chỉ trỏ vào trong. Đo thật trong Go 1.23: domain định nghĩa interface (port), infra hiện thực, và lệnh cấm import cycle của Go biến quy tắc kiến trúc thành lỗi biên dịch — bạn không thể làm domain phụ thuộc hạ tầng.

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

Hexagonal (ports và adapters) trong Go: lõi ở giữa, đổi adapter không đụng lõi

Kiến trúc Hexagonal đặt lõi nghiệp vụ ở trung tâm với ports hai phía: driving (lõi cung cấp) và driven (lõi cần). Đo thật trong Go 1.23: đổi adapter gửi thông báo từ email sang SMS mà lõi không đổi một dòng, lõi cô lập hoàn toàn, và test lõi bằng spy không cần I/O thật.

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

Functional options nâng cao trong Go: closure làm cấu hình, tự validate, tương thích ngược

Functional options dùng closure làm tham số cấu hình, cho API mở rộng mà vẫn tương thích ngược. Đo thật trong Go 1.23: option tự validate và gộp lỗi tại constructor, chậm hơn config struct khoảng 6ns nhưng cùng một cấp phát, và closure không thoát heap khi dùng trực tiếp.