PHpullh
학습 라이브러리/Go/go.mod & 모듈 시스템

GO · Hello World

go.mod & 모듈 시스템

Go 모듈 시스템으로 의존성을 관리합니다. Go 1.11+에서 표준 방식입니다.

Hello World입문go.modmodulego getgo buildgo run

핵심 설명

Go 모듈 시스템으로 의존성을 관리합니다. Go 1.11+에서 표준 방식입니다.

Go code

// 터미널 명령어:
// go mod init github.com/username/myproject
// go mod tidy        — 의존성 정리
// go get pkg@version — 패키지 추가

// go.mod 파일 예시:
// module github.com/username/myproject
//
// go 1.22
//
// require (
//     github.com/gin-gonic/gin v1.9.1
//     github.com/stretchr/testify v1.8.4
// )

// main.go
package main

import "fmt"

func main() {
	fmt.Println("모듈 시스템 시작!")
}

// 빌드 & 실행:
// go run .           — 현재 디렉토리 실행
// go run main.go     — 특정 파일 실행
// go build -o app .  — 바이너리 빌드
// go test ./...      — 모든 테스트 실행
// go vet ./...       — 정적 분석
// gofmt -w .         — 포맷 정리

학습 팁

go mod tidy는 import된 패키지를 go.mod에 추가하고, 사용하지 않는 의존성을 제거합니다. 커밋 전에 습관적으로 실행하세요.

주의할 점

GOPATH 방식은 레거시입니다. Go 1.16+에서는 모듈 모드가 기본이며, 프로젝트 어디서든 개발할 수 있습니다.

자주 묻는 질문

go.mod & 모듈 시스템란 무엇인가요?

Go 모듈 시스템으로 의존성을 관리합니다. Go 1.11+에서 표준 방식입니다.

go.mod & 모듈 시스템 학습 시 주의할 점은 무엇인가요?

GOPATH 방식은 레거시입니다. Go 1.16+에서는 모듈 모드가 기본이며, 프로젝트 어디서든 개발할 수 있습니다.