>백엔드 개발 >Golang >Go 라이브러리와 동일한 이름의 독립형 실행 파일을 모두 구축하려면 어떻게 해야 합니까?

Go 라이브러리와 동일한 이름의 독립형 실행 파일을 모두 구축하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-01 16:42:15138검색

How Can I Build Both a Go Library and a Standalone Executable with the Same Name?

라이브러리 및 바이너리의 공유 이름 관리

소프트웨어를 개발할 때 라이브러리와 독립 실행형 실행 파일을 모두 갖는 것이 바람직할 수 있습니다. 같은 이름. 권장되는 접근 방식은 실행 파일과 라이브러리가 고유한 이름을 갖는 것이므로 Go에서 문제가 발생할 수 있습니다.

제공된 예에서 개발자는 Tar 작업을 위한 라이브러리를 만들려고 시도하지만 독립형 라이브러리도 원합니다. Tar 명령줄 유틸리티. 라이브러리 패키지 내의 main.go라는 디렉터리에 실행 코드를 배치하는 초기 접근 방식은 예상대로 작동하지 않습니다.

이 문제를 해결하려면 다음과 같이 코드베이스를 구성하는 것이 좋습니다.

src/
    tar/
        tar.go         # tar library
        tar/
            main.go    # tar binary

이 구조를 사용하여 go build -o $GOPATH/bin/tar tarbin은 tar라는 라이브러리와 tar라는 바이너리를 모두 구성합니다.

코드가 GitHub에서 호스팅되는 경우 선호되는 디렉터리 구조는 다음과 같습니다.

src/
    github.com/
        you/
            tar/
                tar.go         # tar library
                tar/
                    main.go    # tar binary

이 레이아웃은 go get install github.com/you/tar/tar를 실행할 때 tar라는 바이너리가 설치되고 go get install을 보장합니다. github.com/you/tar는 github.com/you/tar라는 라이브러리를 설치합니다.

코드베이스의 주요 목적에 따라 라이브러리와 바이너리를 서로 교체할 수 있습니다. 디렉터리 구조.

패키지 디렉터리 내에서 라이브러리와 바이너리에 대해 별도의 하위 디렉터리를 사용함으로써 개발자는 Go에서 공유 이름으로 코드를 효과적으로 관리할 수 있으며 라이브러리와 독립 실행형 실행 기능을 모두 사용할 수 있습니다.

위 내용은 Go 라이브러리와 동일한 이름의 독립형 실행 파일을 모두 구축하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.