Go 프로그래밍 세계에서 import 문 앞의 밑줄 문자( _ )는 특별한 의미를 갖습니다. 그 의미와 사용법을 살펴보겠습니다.
import 문의 밑줄(_)은 패키지를 부작용 때문에 가져왔음을 나타냅니다. 패키지에서 어떤 함수, 메서드 또는 변수도 가져오지 않습니다.
일부 Go 패키지에는 다음과 같은 경우 작업을 수행하는 초기화 함수(일반적으로 init() 라고 함)가 있습니다. 패키지를 가져왔습니다. 이러한 작업에는 사용자 정의 데이터베이스 드라이버 등록, 전역 변수 초기화 또는 로깅 구성이 포함될 수 있습니다.
부작용만 고려하여 패키지를 가져오려면 밑줄 식별자는 다음과 같습니다. import 문에서 명시적인 패키지 이름으로 사용됩니다. 예를 들어 go-sqlite3:
import ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3" "log" "os" )
이 경우 "github.com/mattn/go-sqlite3"의 밑줄 가져오기는 sqlite3 드라이버를 표준 SQL 라이브러리에 등록합니다. 이를 통해 해당 패키지에서 함수를 가져올 필요 없이 코드에서 sqlite3을 데이터베이스 연결로 사용할 수 있습니다.
go-sqlite3의 경우 다음 초기화 코드 패키지를 가져올 때 실행됩니다:
sql.Register("sqlite3", &SQLiteDriver{})
This 등록을 하면 다음과 같이 sqlite3을 사용할 수 있습니다:
db, err := sql.Open("sqlite3", "./foo.db")
Underscore Go의 import 문은 부작용을 위해서만 패키지를 가져오는 편리한 방법입니다. 이를 통해 함수나 변수를 명시적으로 가져오지 않고도 패키지 초기화 루틴을 활용할 수 있습니다. 밑줄 가져오기의 목적과 사용법을 이해하면 Go 프로젝트의 패키지 종속성과 부작용을 효과적으로 관리할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3