Go 언어에서 사용되는 go 빌드 명령은 주로 코드를 컴파일하는 데 사용됩니다. 패키지 컴파일 프로세스 중에 필요한 경우 패키지와 관련된 패키지도 동시에 컴파일됩니다.
go 빌드에는 매개변수 없는 컴파일, 파일 목록 컴파일, 지정된 패키지 컴파일 등 다양한 컴파일 방법이 있습니다. 이러한 방법을 사용하여 실행 파일을 출력할 수 있습니다.
go 매개변수 없는 컴파일 빌드
GOPATH와 관련된 코드의 디렉터리 관계는 다음과 같습니다.
.
└── src
└── Chapter11
└── gobuild
├─ ─ lib. go
└── main.go
main.go 코드는 다음과 같습니다.
package main import ( "fmt" ) func main() { // 同包的函数 pkgFunc() fmt.Println("hello world") }
lib.go 코드는 다음과 같습니다.
package main import "fmt" func pkgFunc() { fmt.Println("call pkgFunc") }
소스 코드에 GOPATH에 의존하는 패키지 참조가 없으면 다음과 같습니다. 소스 코드는 매개변수 없는 go build를 사용할 수 있습니다. 형식은 다음과 같습니다.
go build
아래와 같이 코드가 있는 디렉터리(./src/chapter11/gobuild)에서 go build 명령을 사용합니다.
$ cd src/chapter11/gobuild/
$ go build
$ ls
gobuild lib .go main.go
$ ./gobuild
call pkgFunc
hello world
명령줄 지침과 출력 지침은 다음과 같습니다.
Line 1, 이 소스 코드 디렉터리로 이동합니다. 예.
라인 2, go build가 컴파일을 시작하면 현재 디렉터리에서 go 소스 코드를 검색합니다. 이 예에서 go build는 lib.go와 main.go라는 두 개의 파일을 찾습니다. 이 두 파일을 컴파일하면 현재 디렉터리 이름의 실행 파일이 생성되어 현재 디렉터리에 배치됩니다. 여기서 실행 파일은 go build입니다.
라인 3과 4는 현재 디렉터리의 파일을 나열합니다. 컴파일이 성공하고 go build 실행 파일이 출력됩니다.
5번째 줄, 현재 디렉터리에서 실행 파일 go build를 실행합니다.
라인 6과 7, go build를 실행한 후의 출력 내용입니다.
go build+file list
동일한 디렉터리에서 여러 소스 코드 파일을 컴파일하는 경우 go build 후 여러 파일 이름을 제공할 수 있습니다. go build는 이러한 소스 코드를 컴파일하고 "go build+file" 실행 파일을 출력합니다. list" 형식은 다음과 같습니다.
go build file1.go file2.go……
코드가 있는 디렉터리(./src/chapter11/gobuild)에서 go build를 사용하고, go build 후 컴파일할 소스코드 파일명을 추가합니다. 코드는 다음과 같습니다. 다음:
$ go build main.go lib.go
$ ls
lib.go main main.go
$ ./main
call pkgFunc
hello world
$ go build lib.go main.go
$ ls
lib lib.go main main.go
명령줄 지침과 출력 지침은 다음과 같습니다.
라인 1은 go 빌드 후 파일 목록을 추가하고 컴파일해야 하는 Go 소스 코드를 선택합니다.
라인 2와 3은 컴파일 후 현재 디렉터리의 파일을 나열합니다. 이번에는 실행 파일 이름이 main이 됩니다.
라인 4~6, 메인 파일을 실행하고 예상되는 출력을 얻습니다.
7번째 줄, lib.go가 목록의 맨 위에 오도록 파일 목록의 순서를 조정해 보세요.
라인 8과 9에서는 lib 실행 파일이 컴파일 결과에 나타납니다.
"go build+file list" 방식으로 컴파일할 경우 실행 파일은 기본적으로 파일 목록의 첫 번째 소스 코드 파일을 출력용 실행 파일 이름으로 선택합니다.
go build+package
GOPATH 설정 후, 패키지 이름을 기준으로 "go build+package"를 직접 컴파일할 수 있습니다. 패키지에 있는 파일을 추가(추가)하거나 삭제(삭제)해도 컴파일이 완료됩니다. 지침은 영향을 받지 않습니다.
1) GOPATH를 기준으로 코드 위치와 소스 코드
의 디렉터리 관계는 다음과 같습니다.
.
└── src
└── Chapter11
└──goinstall
├── main.go
└── mypkg
└── mypkg.go
main.go 코드는 다음과 같습니다.
package main import ( "chapter11/goinstall/mypkg" "fmt" ) func main() { mypkg.CustomPkgFunc() fmt.Println("hello world") }
mypkg.go 코드는 다음과 같습니다.
package mypkg import "fmt" func CustomPkgFunc() { fmt.Println("call CustomPkgFunc") }
2) 패키지 명령으로 컴파일
다음 명령을 실행하여 컴파일합니다. 패키지별 goinstall 코드:
$ import GOPATH=/home/davy/golangbook/code
$ go build -o main Chapter11/goinstall
$ ./goinstall
call CustomPkgFunc
hello world
코드 설명은 다음과 같습니다. :
라인 1, 환경 변수 GOPATH를 설정합니다. 여기서 경로는 작성자의 디렉터리이며 GOPATH는 실제 디렉터리에 따라 설정할 수 있습니다.
라인 2, -o 실행은 출력 파일을 main으로 지정하고 그 뒤에 컴파일할 패키지 이름을 지정합니다. 패키지 이름은 GOPATH 아래의 src 디렉터리를 기준으로 시작됩니다.
라인 3~5, 컴파일이 성공하고 main을 실행한 후 예상되는 출력을 얻습니다.
더 많은 golang 지식을 알고 싶다면 golang tutorial 칼럼을 주목해주세요.
위 내용은 golang을 컴파일하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!