GO에서 패키지 가져 오기는 간단하며 일관된 구문을 따릅니다. 패키지를 가져 오려면 import
키워드와 패키지 경로를 이중 따옴표로 사용합니다. 기본 예는 다음과 같습니다.
<code class="go">import "fmt"</code>
이렇게하면 GO 표준 라이브러리에서 fmt
패키지를 가져옵니다. 가져 오면 내보내는 기능과 패키지에서 유형을 사용할 수 있습니다. 예를 들어:
<code class="go">package main import "fmt" func main() { fmt.Println("Hello, Go!") }</code>
또한 그룹화 된 Import 문을 사용하여 한 번에 여러 패키지를 가져올 수도 있으며, 이는 수입 구성을위한 모범 사례로 간주됩니다.
<code class="go">import ( "fmt" "math/rand" )</code>
또한 GO는 별칭 수입을 지원합니다. 이는 짧은 이름을 사용하거나 이름 지정 충돌을 피해야 할 때 유용합니다.
<code class="go">import m "math"</code>
이 경우 m.Sqrt(16)
와 같은 별칭 m
사용하여 math
패키지의 함수에 액세스 할 수 있습니다.
GO는 또한 이름이 지정된 가져 오기를 허용하며 패키지를 직접 사용할 필요가 없지만 부작용 (예 : 초기화)이 필요할 경우 사용할 수 있습니다.
<code class="go">import _ "net/http/pprof"</code>
마지막으로, 현재 작업 디렉토리 또는 상대 경로를 사용하여 로컬 디렉토리에서 패키지를 가져올 수 있습니다. 그러나 명확성과 이식성을 위해 전체 경로를 사용하는 것이 더 일반적입니다.
GO에서 수입을 구성하는 것은 코드를 깨끗하고 읽을 수 있도록 몇 가지 모범 사례를 따릅니다. 몇 가지 핵심 사항은 다음과 같습니다.
그룹화 된 수입 : 그룹화 된 가져 오기를 사용하여 모든 가져 오기를 단일 블록으로 나열합니다. 이를 통해 가독성이 향상되고 수입을보다 쉽게 관리 할 수 있습니다.
<code class="go">import ( "fmt" "math/rand" "net/http" )</code>
표준 라이브러리 먼저 : 수입 블록 상단에 표준 라이브러리에서 가져 오기, 타사 패키지 및 마지막으로 로컬 패키지를 배치합니다. 이 순서는 다양한 유형의 종속성을 구별하는 데 도움이됩니다.
<code class="go">import ( "fmt" "net/http" "github.com/gorilla/mux" "myproject/utils" )</code>
go fmt
명령을 사용하여 가져 오기를 포함하여 코드를 자동으로 포맷하십시오. 이를 통해 프로젝트의 일관성을 보장하고 GO 스타일 가이드를 준수합니다.이러한 관행을 따르면 GO 코드를 구성하고 유지 관리 할 수 있습니다.
GO의 가져 오기 사이클은 둘 이상의 패키지가 서로 의존하여 원형 의존성을 만듭니다. 컴파일을 복잡하게하고 런타임 문제로 이어질 수 있기 때문에 이동할 수 없습니다. 수입주기를 처리하고 해결하기위한 몇 가지 전략은 다음과 같습니다.
코드 재구성 : 최상의 솔루션은주기를 제거하기 위해 코드를 재구성하는 것입니다. 여기에는 공유 기능을 모두 종속 패키지를 가져올 수있는 새 패키지로 옮기는 것이 포함될 수 있습니다.
예를 들어, packageA
packageB
가져오고 packageB
가져 오면 packageA
가져 오면 공유 코드로 packageC
만들 수 있습니다.
<code class="go">// packageC.go package packageC func SharedFunction() { // Shared code here }</code>
그런 다음 packageA
및 packageB
수정하여 packageC
가져옵니다.
<code class="go">// packageA.go package packageA import "packageC" func SomeFunction() { packageC.SharedFunction() }</code>
<code class="go">// packageB.go package packageB import "packageC" func AnotherFunction() { packageC.SharedFunction() }</code>
이러한 전략을 따르면 수입주기를 해결하고 GO 프로젝트에서 깨끗하고 모듈 식 코드 구조를 유지할 수 있습니다.
GO에서 이름과 빈 수입은 다른 목적으로 사용되며 뚜렷한 행동을합니다.
명명 된 수입 :
예:
<code class="go">import "fmt" func main() { fmt.Println("Hello, Go!") }</code>
패키지 (별칭)에 다른 이름을 사용하려면 다음 구문을 사용할 수 있습니다.
<code class="go">import m "math" func main() { fmt.Println(m.Sqrt(16)) }</code>
빈 수입 :
_
다음 패키지 경로를 사용합니다.예:
<code class="go">import _ "net/http/pprof" func main() { // The pprof package is initialized but not directly used }</code>
init
기능이 실행되지만 기능이나 유형을 직접 사용할 수는 없습니다.주요 차이점 :
이러한 차이를 이해하면 종속성을 관리하고 GO 프로그램의 구조를 최적화하는 데 도움이됩니다.
위 내용은 GO에서 패키지를 어떻게 가져 오나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!