더북(TheBook)

7.1.4 문서화

모든 커스텀 패키지는 다른 Go 프로그램에서 사용할 수 있다. 커스텀 패키지를 다른 Go 프로그램에서 사용하려면 패키지에 대한 문서가 잘 작성돼 있어야 한다. Go는 문서화를 위한 툴로 godoc을 제공한다. godoc을 사용하면 Go의 기본 라이브러리뿐만 아니라 현재 로컬에 있는 커스텀 패키지의 문서를 명령 프롬프트나 웹 UI로 볼 수 있다.

godoc은 기본적으로 public 요소(대문자로 시작하는 타입, 함수, 상수, 변수)만 보여준다.

문서의 내용은 소스 파일에 주석으로 작성한다. 패키지 선언, 타입 선언, 함수/메서드 정의 부분 위에 작성된 주석은 godoc에서 문서로 인식한다.

패키지 선언부 위에 있는 주석은 문서에서 패키지 요약 부분에 나타낸다.

// Built-in map doesn’t support concurrent.
// This is concurrent map using channel, without mutex.
package smap

타입 위에 있는 주석은 문서에서 타입에 대한 설명으로 나타낸다.

// A thread safe map(type: map[string]interface{}).
// This using channel, not mutex.
type SharedMap interface {

함수나 메서드 위에 있는 주석은 문서에서 함수나 메서드의 설명으로 나타낸다.

// Create a new shared map.
func New() SharedMap {

그림 7-1 github.com/jaehue/smap 패키지 문서
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.