>  기사  >  백엔드 개발  >  golang을 컴파일하는 방법

golang을 컴파일하는 방법

尚
원래의
2019-12-26 09:43:504984검색

golang을 컴파일하는 방법

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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