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

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

golangofferssuperiorperperperperferforperformance, nativeconcurrencyviagoroutines 및 lefficientresourceusage, makingitidealforhigh-traffic, 2.python, whileslowerduetointerpretationandghilegil, arrethecoSystem, andisbettersuitedfori/o-ko

gousessestificallystythemorythanpythonphenningwhenningwebservicesduetolangugedesignandconcurrencymodeldifferences.1.go'sgoroutinesarelightweightswithminstackoverhead

인터페이스는 포인터 유형이 아니며 동적 유형과 값의 두 포인터가 포함되어 있습니다. 1. 인터페이스 변수는 특정 유형의 유형 디스크립터 및 데이터 포인터를 저장합니다. 2. 인터페이스에 포인터를 할당 할 때 포인터의 사본을 저장하고 인터페이스 자체는 포인터 유형이 아닙니다. 3. 인터페이스가 nil인지 여부는 동시에 판단되어야한다. 4. 메소드 수신기가 포인터 인 경우, 포인터 유형 만 인터페이스를 실현할 수 있습니다. 5. 실제 개발에서 인터페이스의 값 사본과 포인터 전송의 차이에주의하십시오. 이것을 이해하면 런타임 오류를 피하고 코드 보안을 향상시킬 수 있습니다.

GO 언어로 쉘 명령을 실행하면 표준 라이브러리 OS/EXEC를 통해 구현할 수 있습니다. 기본 방법은 exec.command ()를 사용하여 명령 객체를 만들고 rall output ()를 만들기 위해 결과를 얻는 것입니다. 1. 간단한 명령을 실행할 때 명령 객체를 작성하고 출력을 얻으려면 output ()을 호출하십시오. 2. 실시간 출력이 필요한 경우 stdoutpipe와 stderrpipe를 사용하여 실행 중에 실행하고 인쇄하십시오. 3. 파이프 라인 또는 리디렉션을 포함하는 복잡한 명령의 경우 분석 및 처리를 위해 /bin /sh-c에 양도 될 수 있습니다. 4. 보안 측면에서 사용자 입력을 접합하지 않으면 매개 변수 목록을 전달하는 것이 좋습니다. 5. 제어 명령 배경 작업은 start () 및 Wait ()를 결합하여 달성 할 수 있습니다.

fornewgo1.21 프로젝트, audesLogforOfficialStructuredLoggingSupport; 2. forhigh-performance-productionservices, chelectizaporogerduetotheirspeedandlowallocations; 3. foreaseofuseandrichintegrationslikeslackorsentryhooks, logrusisidealdowerperformance; 4

useurlpathversioning like/api/v1forclear, roundable 및 developer 친화적 인 버전 .2

mongodbgo 드라이버를 설치하고 mongo.connect ()를 사용하여 연결을 설정하여 핑을 통해 연결을 성공적으로 수행 할 수 있습니다. 2. BSON 태그가있는 GO 구조를 정의하여 MongoDB 문서를 매핑하고 선택적으로 Primitive.Objectid를 ID 유형으로 사용합니다. 3. InsertOne을 사용하여 단일 문서를 삽입하고 단일 문서를 찾아서 Mongo.errnodocuments 오류를 처리하고, 문서를 업데이트하고, 문서를 삭제하고, COOPERATES와 COOPERATES를 찾으려면 여러 문서를 얻으려면; 4. 요청 매달려 피하기 위해 항상 시간 초과 컨텍스트를 사용하고 Mon을 재사용하십시오.

점성력이있는 정의 된 DatatatypethoutGroupsRoupSPreliTEDSTOMODELLEAL-WORLDENTITIE.1.ITISTYTETHETYWORDEKKEYWORDKEYWORDECKYWORDOWNETHURCTUCTEMANEANDALISTOFFILDS.2.StructScancontainfieldsofdifferentDatatatypes
