go:generate và stringer trong Go: sinh mã lặp lại, và vì sao nó nhanh hơn viết tay
//go:generate gắn lệnh sinh mã vào mã nguồn; stringer sinh phương thức String() cho enum. Đo thật trong Go 1.23: mã sinh dùng chuỗi ghép và mảng index nhanh hơn map viết tay khoảng 1,7 lần, và một drift guard biến enum lệch thành lỗi biên dịch.