GO · 기초 문법
패키지 초기화와 사이드 이펙트 import
import _ "pkg"로 패키지의 init()만 실행합니다. 데이터베이스 드라이버 등록에 흔히 사용됩니다.
기초 문법중급importblank-importinitside-effect
핵심 설명
import _ "pkg"로 패키지의 init()만 실행합니다. 데이터베이스 드라이버 등록에 흔히 사용됩니다.
Go code
package main
import (
"fmt"
// 사이드 이펙트 import 예시:
// _ "github.com/lib/pq" // PostgreSQL 드라이버 등록
// _ "image/png" // PNG 디코더 등록
// _ "net/http/pprof" // pprof 핸들러 등록
)
// 별칭 import
// import (
// chi "github.com/go-chi/chi/v5" // 별칭
// . "math" // 도트 import (비권장)
// )
func main() {
fmt.Println("사이드 이펙트 import: init()만 실행")
fmt.Println(" _ "database/sql/driver" → 드라이버 등록")
fmt.Println(" _ "image/png" → 포맷 등록")
fmt.Println(" _ "net/http/pprof" → 프로파일링")
}학습 팁
사이드 이펙트 import는 init()에서 sql.Register()나 image.RegisterFormat() 등을 호출하여 전역 등록을 수행합니다.
주의할 점
도트 import(. "math")는 네임스페이스 오염을 일으키므로 테스트 파일 외에는 사용하지 마세요.
자주 묻는 질문
패키지 초기화와 사이드 이펙트 import란 무엇인가요?
import _ "pkg" 로 패키지의 init() 만 실행합니다. 데이터베이스 드라이버 등록에 흔히 사용됩니다.
패키지 초기화와 사이드 이펙트 import 학습 시 주의할 점은 무엇인가요?
도트 import( . "math" )는 네임스페이스 오염을 일으키므로 테스트 파일 외에는 사용하지 마세요.
Continue Learning
Go 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.