질문:
Go 내에서 도우미 패키지를 어떻게 활용할 수 있나요? Cloud 함수를 게시하지 않고도 동일한 프로젝트 내의 여러 함수에서 액세스할 수 있는지 확인합니다. 공개)?
답변:
Go의 고급 종속성 관리 시스템인 Go 모듈을 도입하면 하위 패키지 작업을 위한 효과적인 솔루션을 제공합니다. 모듈을 사용하면 GOPATH 외부에서 작동하고 종속성 버전을 정확하게 관리할 수 있습니다.
결정적으로 모듈을 사용하면 일관된 가져오기 경로 접두사를 사용하여 Go 패키지 그룹을 정의할 수 있습니다. Cloud 함수 내에서 이 기능을 활용하여 모듈 내의 다른 패키지를 가져올 수 있습니다.
배포된 함수는 모듈의 루트에 있어야 한다는 점에 유의하는 것이 중요합니다. 예를 들어 다음 파일 구조를 고려하십시오.
. ├── cmd │ └── main.go # For testing purposes, can import and configure your function. ├── function.go # Imports "example.com/foo/helperpackage" ├── function_test.go ├── go.mod # Module "example.com/foo" └── helperpackage └── helper.go
이 설정에서 함수는 function.go에 있고 function_test.go에서 테스트됩니다. 이러한 구성 요소는 "example.com/foo" 모듈에 속하며 function.go는 "example.com/foo/helperpackage"를 가져올 수 있습니다.
또한 cmd 디렉터리는 로컬 테스트를 용이하게 합니다. "example.com/foo"를 가져오면 함수 핸들러를 활용하여 요청을 처리하는 HTTP 서버를 초기화할 수 있습니다. 다음 코드 샘플은 이 접근 방식을 보여줍니다.
package main import ( "log" "net/http" "example.com/foo" ) func main() { http.Handle("/HelloHTTP", foo.HelloHTTP) log.Fatal(http.ListenAndServe(":8080", nil)) }
공급업체 디렉터리를 사용하면 비슷한 결과를 얻을 수 있지만 하위 패키지는 전체 가져오기 경로를 사용하여 공급업체 디렉터리에 개별적으로 복사해야 합니다. 유지관리 번거로움. 따라서 이 접근 방식은 하위 패키지에는 일반적으로 사용되지 않습니다.
위 내용은 공개 게시 없이 Go Cloud 기능 간에 도우미 패키지를 공유하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!