[Go 공식문서 한국어 정리] ⑯30. Go 코드 작성법
[Go 공식문서 한국어 정리] ⑯30. Go 코드 작성법
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 서론
이 문서는 Go의 모듈과 패키지 안에서 간단한 패키지를 개발하고 go 도구를 사용하는 방법을 설명합니다.
2. 핵심 개념
• 패키지: 동일한 디렉토리의 소스 파일 집합. 함수, 타입, 변수, 상수는 동일한 패키지내에서 공유됩니다.
• 모듈: 관련된 Go 패키지들의 집합으로 한 번에 배포됩니다.
• go.mod: 모듈의 경로를 선언하는 파일입니다.
• 원격 저장소에 배포하지 않아도 로컬에서 모듈을 정의하고 빌드할 수 있습니다.
3. 주요 내용 상세
3.1 첫 번째 프로그램
• 모듈 초기화: go mod init example/user/hello
• 실행 가능한 명령은 package main을 사용
• 빌드 및 설치: go install example/user/hello
• 실행 바이너리 경로: $HOME/go/bin이 기본이며, GOBIN이지정하면 해당 경로로 설치됩니다.
3.2 패키지 임포트
• 사용자 정의 패키지를 모듈의 서브디렉토리에 작성
• 대문자로 시작하는 함수는 다른 패키지에서 사용할 수 있읋니다(exported)
• 임포트 경로: 모듈 경로 + 서브디렉토리(예: github.com/google/go-cmp/cmp)
3.3 원격 모듈에서 패키지 임포트
• Git이나 Mercurial의 저장소 URL을 임포트 경로로 사용하면 go 도구가 자동으로 다운로드합니다.
• go mod tidy: 누락된 모듈 요구사항을 추가하고 사용하지 않는 모듈을 제거합니다.
• 의존성은 GOPATH/pkg/mod에 저장되며 읽기전용으로 표시됩니다.
• go clean -modcache: 다운로드한 모듈 캐시를 삭제합니다.
3.4 테스트
• 테스트 파일은 _test.go로 끝나야 합니다.
• 테스트 함수는 TestXXX를 사용하고 testing.T를 받습니다.
• t.Error나 t.Fail을 호출하면 테스트가 실패한 것으로 간주됩니다.
• go test를 실행하여 테스트를 실행합니다.
4. 실전 활용
• go mod init으로 새로운 프로젝트를 시작합니다.
• 패키지를 모듈의 서브디렉토리로 조직하십시오.
• go mod tidy를 사용해 의존성을 관리합니다.
• go test를 사용해 테스트를 작성하고 실행합니다.
• go install을 사용해 실행 파일을 빌드합니다.
5. 정리
• Go의 코드는 패키지로 조직되며 모듈으로 관리됩니다.
• go mod init, go build, go install, go test, go mod tidy를 사용해 프로젝트를 관리합니다.
• 대문자로 시작하는 함수는 다른 패키지에서 사용할 수 있습니다.
• 원격 모듈은 자동으로 다운로드되며 go.mod에 버전이 기록됩니다.
#Go #Golang #패키지 #모듈 #go도구 #공식문서

오뉴노노 님의 최근 댓글
ㅋㅋㅋㅋㅋ 2019 01.14 잘 읽었습니다 2018 12.30 포인트가 없어서 아직 시작을 못하고있는데요! 글은 잘 읽었습니다! 포인트 쌓고 도전할거에요 2018 12.30