golang-safety
우발적인 버그를 방지하기 위한 Go 언어의 방어적 코딩 기법 — nil로 인한 패닉, 타입화된 nil 인터페이스, `append`의 백업 배열 별칭 문제, int64에서 int32로의 무경고 절삭, float `==` 비교, 루프 내 `defer`, 슬라이스 및 맵의 방어적 복사, 그리고 안전하게 사용할 수 있는 0 값. Go 프로그램이 nil 맵 쓰기나 nil 포인터 참조 시 패닉이 발생할 때, nil 안전성, 숫자 변환 오버플로우 또는 리소스 수명 주기를 검토할 때, 혹은 0 값이 안전해야 하는 타입을 설계할 때 활용하세요. 이 스킬은 고루틴, 채널, 동기화 프리미티브를 이용한 병렬 액세스 설계(→ `samber/cc-skills-golang@golang-concurrency` 스킬 참조)나, 인젝션, 취약한 암호화, 기밀 정보 유출과 같은 악용 가능한 취약점 (→ `samber/cc-skills-golang@golang-security` 스킬 참조), 이미 오류가 발생한 프로그램의 디버깅(→ `samber/cc-skills-golang@golang-troubleshooting` 스킬 참조)을 위한 것도 아닙니다.