Go의 sql.Null[T]는 JSON 지원을 받을 수 없습니다. 대신 우리가 구축한 것은 이것입니다.
(dev.to)![Go의 sql.Null[T]는 JSON 지원을 받을 수 없습니다. 대신 우리가 구축한 것은 이것입니다.](https://startupschool.cc/og/gos-sqlnullt-will-never-get-json-support-heres-what-we-built-instead-519b3d.jpg)
Go 1.22의 sql.Null[T]가 가진 JSON 마샬링 결함을 해결하고, PATCH API 구현에 필수적인 3가지 상태(부재, Null, 값)를 효율적으로 관리할 수 있는 새로운 라이브러리 coregx/opt를 소개합니다.
이 글의 핵심 포인트
- 1Go 1.22의 sql.Null[T]는 JSON 마샬링 시 구조체 형태로 출력되어 API 응답 규격을 깨뜨리는 문제가 있음
- 2기존 포인터(*string) 방식은 메모리 오버헤드가 발생하며, 필드 부재와 NULL 값을 구분할 수 없음
- 3