프로젝트 소개

go-branded-id는 브랜드화된 강력한 타입 식별자를 제공하는 Go 라이브러리입니다. 팬텀 타입을 사용하여 컴파일 시점에 서로 다른 엔티티 ID(예: UserID와 OrderID)의 혼용을 방지하여, 그렇지 않으면 발견되지 않을 버그를 잡아냅니다. 이 라이브러리는 핵심 작업에 대해 제로 할당이며, Go 표준 라이브러리만 사용하고, JSON, SQL, Text, Binary, Gob을 포함한 전체 직렬화를 지원합니다. 모든 비교 가능한 타입과 함께 작동하며, 제로 값 의미론(JSON에서 null로, SQL에서 nil로 직렬화)을 제공하고 SQL 스캐너/밸류어를 포함합니다. 명명된 브랜드 타입은 디버그 표시 문자열과 브랜드 인식 검증을 위한 Name() 메서드를 제공할 수 있습니다. 또한 라이브러리는 오류 처리를 위한 센티널 오류와 Name() 스텁을 생성하는 codemod 도구를 제공합니다. Go 1.26+가 필요합니다.