Go 로 서버 만들기 · 에러를 값으로 다룬다 · 퀴즈
Go 에러 확인
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
에러를 감쌀 때 `%v` 대신 `%w` 를 쓰는 이유는?
- 글자 수가 짧아 코드가 간결해서
- 포매팅 비용이 더 싸기 때문에
- 원본 에러를 품어 나중에 판별할 수 있어서
- 출력되는 문자열이 더 보기 좋아서
에러를 로그로 남기고 또 반환하면?
- 두 번 기록되니 오히려 안전하다
- 같은 사고가 로그에 여러 번 찍힌다
- 로그 I/O 때문에 성능이 나빠진다
- vet 이 잡아서 컴파일이 막힌다
Go 에서 panic 을 쓰는 것이 적절한 경우는?
- 사용자 입력이 잘못됐을 때
- 초기화 실패나 불변식 위반
- 네트워크 오류
- 파일이 없을 때
구조체를 JSON 으로 낼 때 필드 태그를 안 붙이면?
- 인코딩할 때 에러가 반환된다
- 그 필드가 JSON 에서 빠진다
- 필드 이름이 소문자로 바뀐다
- Go 필드 이름이 대문자 그대로 나간다
고루틴 누수를 확인하는 가장 단순한 방법은?
- 테스트 전후로 고루틴 수를 비교한다
- 프로세스 메모리 사용량을 지켜본다
- CPU 사용률이 오르는지 본다
- `go vet` 으로 정적 분석한다
Go 에서 코드 포맷 논쟁이 사라진 이유는?
- gofmt 의 출력이 곧 정답이라서
- 린터가 스타일까지 강제해서
- 표준 스타일 가이드가 없어서
- IDE 가 알아서 맞춰 줘서