LabHub

Go 로 서버 만들기 · 에러를 값으로 다룬다 · 퀴즈

Go 에러 확인

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 에러를 감쌀 때 `%v` 대신 `%w` 를 쓰는 이유는?

    1. 글자 수가 짧아 코드가 간결해서
    2. 포매팅 비용이 더 싸기 때문에
    3. 원본 에러를 품어 나중에 판별할 수 있어서
    4. 출력되는 문자열이 더 보기 좋아서
  2. 에러를 로그로 남기고 또 반환하면?

    1. 두 번 기록되니 오히려 안전하다
    2. 같은 사고가 로그에 여러 번 찍힌다
    3. 로그 I/O 때문에 성능이 나빠진다
    4. vet 이 잡아서 컴파일이 막힌다
  3. Go 에서 panic 을 쓰는 것이 적절한 경우는?

    1. 사용자 입력이 잘못됐을 때
    2. 초기화 실패나 불변식 위반
    3. 네트워크 오류
    4. 파일이 없을 때
  4. 구조체를 JSON 으로 낼 때 필드 태그를 안 붙이면?

    1. 인코딩할 때 에러가 반환된다
    2. 그 필드가 JSON 에서 빠진다
    3. 필드 이름이 소문자로 바뀐다
    4. Go 필드 이름이 대문자 그대로 나간다
  5. 고루틴 누수를 확인하는 가장 단순한 방법은?

    1. 테스트 전후로 고루틴 수를 비교한다
    2. 프로세스 메모리 사용량을 지켜본다
    3. CPU 사용률이 오르는지 본다
    4. `go vet` 으로 정적 분석한다
  6. Go 에서 코드 포맷 논쟁이 사라진 이유는?

    1. gofmt 의 출력이 곧 정답이라서
    2. 린터가 스타일까지 강제해서
    3. 표준 스타일 가이드가 없어서
    4. IDE 가 알아서 맞춰 줘서