빈 식별자 `_`
Coddy GO 여정의 로직 & 흐름 섹션에 포함된 레슨 — 68개 중 55번째.
때로는 패키지에서 내보낸 함수나 변수를 사용하기 위해서가 아니라, 해당 패키지의 부작용(side effects)을 유발하기 위해 패키지를 임포트해야 할 때가 있습니다. 가장 일반적인 부작용은 패키지가 임포트될 때 자동으로 실행되는 패키지의 init 함수를 실행하는 것입니다.
Go는 이러한 목적으로 빈 식별자 _를 제공합니다. 빈 식별자를 사용하여 패키지를 임포트하면, Go는 패키지를 임포트하고 모든 초기화 코드를 실행하지만, 해당 패키지의 내보낸 식별자를 사용할 것을 요구하지 않습니다.
import _ "database/sql/driver"이것은 패키지가 다른 시스템에 자신을 등록하거나 설정 작업을 수행해야 하지만, 코드에서 해당 패키지의 함수를 직접 호출하지 않을 때 특히 유용합니다. 빈 식별자(blank identifier)가 없으면, Go는 사용하지 않는 패키지를 임포트했다는 컴파일 오류를 발생시킵니다.
빈 식별자는 Go에게 "부수 효과(side effects)를 위해 이 패키지를 임포트하되, 내 코드에서 직접 참조하지는 않겠다"고 알려줍니다. 이를 통해 필요한 초기화 동작을 수행하면서도 임포트 구문을 깔끔하게 유지할 수 있습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
치트 시트
빈 식별자 _를 사용하여 내보낸 함수를 사용하지 않고 부작용(side effects)을 위해 패키지를 가져올 수 있습니다:
import _ "database/sql/driver"이렇게 하면 내보낸 식별자를 사용할 필요 없이 패키지를 가져오고 초기화 코드를 실행합니다. 패키지가 다른 시스템에 자신을 등록하거나 설정 작업을 수행해야 할 때 유용합니다.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.