> 백엔드 개발 > Golang > Go 언어를 컴파일할 수 있나요?

Go 언어를 컴파일할 수 있나요?

青灯夜游
풀어 주다: 2022-12-09 18:20:34
원래의
7806명이 탐색했습니다.

go 언어를 컴파일할 수 있습니다. Go 언어는 컴파일된 정적 ​​언어로, 실행하려면 컴파일이 필요한 프로그래밍 언어입니다. Go 언어 프로그램을 컴파일하는 데는 두 가지 명령이 있습니다. 1. Go 언어 프로그램 코드를 바이너리 실행 파일로 컴파일할 수 있지만 바이너리 파일을 수동으로 실행해야 하는 "go build" 명령 2. "go run" 명령 Go 언어 프로그램은 컴파일 후 바로 실행됩니다. 컴파일 과정에서 임시 파일이 생성되지만 실행 파일은 생성되지 않습니다.

Go 언어를 컴파일할 수 있나요?

이 튜토리얼의 운영 환경: Windows 10 시스템, GO 버전 1.18, Dell G3 컴퓨터.

go 언어를 컴파일할 수 있습니다.

Go 언어는 실행하기 위해 컴파일해야 하는 프로그래밍 언어입니다. 즉, 실행하기 전에 컴파일러에서 코드를 생성한 다음 바이너리 파일을 대상에서 실행할 수 있습니다. 기계.

Go 언어 프로그램 컴파일 및 실행 방법


Go 언어에서 제공하는 go build 또는 go run 명령을 통해 Go 언어 프로그램을 컴파일할 수 있습니다. go build或者go run命令对Go语言程序进行编译:

  • go build命令可以将Go语言程序代码编译成二进制的可执行文件,但是需要我们手动运行该二进制文件;

  • go run go build 명령은 Go 언어 프로그램 코드를 바이너리 실행 파일로 컴파일할 수 있지만 바이너리 파일을 수동으로 실행해야 합니다.

go run 명령이 더 편리합니다. 컴파일 후 바로 Go 언어 프로그램을 실행합니다. 컴파일 과정에서 임시 파일이 생성되지만 실행 파일은 생성되지 않습니다. 이 기능은 프로그램을 디버깅하는 데 매우 적합합니다. [관련 권장 사항: Go 비디오 튜토리얼, 프로그래밍 교육]

    1. 명령줄 도구
  • 여기에서는 Windows와 함께 제공되는 명령줄 도구(CMD 창 또는 명령 프롬프트라고도 함)를 사용합니다. .Go 언어 프로그램을 컴파일합니다. Microsoft는 나중에 명령줄 도구를 업그레이드하고 이름을 Powershell로 변경했습니다. 이는 더 강력하다는 의미입니다.
  • 명령줄 도구를 여는 방법에는 여러 가지가 있습니다. 다음은 가장 일반적으로 사용되는 두 가지 방법입니다.

시작 메뉴에서 명령줄 도구를 연 다음 Go 소스가 있는 디렉터리로 CD를 이동할 수 있습니다. 파일이 위치합니다.

Go 언어를 컴파일할 수 있나요?
Shift 키를 누른 채 Go 소스 파일이 있는 디렉터리의 빈 공간에서 마우스 오른쪽 버튼을 클릭한 다음 "여기에서 명령줄 창 열기" 또는 "여기에서 Powershell 창 열기"를 선택할 수도 있습니다. 팝업 메뉴에서 아래 그림과 같이 Go 소스 파일이 있는 디렉터리로 자동으로 이동합니다. 이 방법은 더 편리하며 모든 사람이 사용하는 것이 좋습니다.

Go 언어를 컴파일할 수 있나요?
팁: cd는 현재 디렉터리를 변경하는 데 사용되는 명령줄 도구의 명령입니다. Change Directory의 약어입니다.

Win7에서 "여기에서 명령 창 열기"를 선택합니다. go build 命令

go build命令用来启动编译,它可以将Go语言程序与相关依赖编译成一个可执行文件,其语法格式如下。

go build fileName
로그인 후 복사
  • 其中 fileName 为所需要的参数,可以是一个或者多个 Go 源文件名(当有多个参数时需要使用空格将两个相邻的参数隔开),也可以省略不写。

使用 go build 命令进行编译时,不同参数的执行结果也是不同的。

1) 当参数不为空时

如果 fileName 为同一 main 包下的所有源文件名(可能有一个或者多个),编译器将生成一个与第一个 fileName 同名的可执行文件(如执行go build abc.go def.go ...会生成一个 abc.exe 文件);如果 fileName 为非 main 包下的源文件名,编译器将只对该包进行语法检查,不生成可执行文件。

2) 当参数为空时

如果当前目录下存在 main 包,则会生成一个与当前目录名同名的“目录名.exe”可执行文件(如在 hello 目录中执行go build命令时,会生成 hello.exe 文件);如果不存在 main 包,则只对当前目录下的程序源码进行语法检查,不会生成可执行文件。

使用go build命令对我们上一节编写的程序进行编译,运行结果如下所示:

D:\code> go build .\demo.go
D:\code> .\demo.exe
Hello World!
로그인 후 복사

其中D:code>

🎜🎜Win10에서 "여기에서 Powershell 창 열기"를 선택합니다. go build 명령 🎜🎜🎜🎜2. go build 명령 🎜🎜🎜🎜 go build 명령은 Go 언어 프로그램 및 관련 종속성을 실행 파일로 컴파일하는 데 사용됩니다. 다음과 같이 형식을 지정합니다. 🎜
go run fileName
로그인 후 복사
로그인 후 복사
🎜🎜🎜여기서 fileName은 필수 매개변수이며 하나 이상의 Go 소스 파일 이름일 수 있습니다(매개변수가 여러 개 있는 경우 두 개의 인접한 매개변수를 구분하기 위해 공백을 사용해야 함). 또는 생략할 수 있습니다. 🎜🎜🎜🎜go build 명령을 사용하여 컴파일할 때 다양한 매개변수의 실행 결과도 다릅니다. 🎜🎜🎜1) 매개변수가 비어 있지 않은 경우🎜🎜🎜fileName이 동일한 기본 패키지(하나 이상 있을 수 있음)에 있는 모든 소스 파일의 이름인 경우 컴파일러는 첫 번째 fileName(예를 들어 go build abc.go def.go...를 실행하면 abc.exe 파일이 생성됨) fileName이 기본 패키지가 아닌 패키지의 소스 파일 이름인 경우 컴파일러는 구문 검사만 실행하며 실행 파일은 생성되지 않습니다. 🎜🎜🎜2) 매개변수가 비어 있는 경우🎜🎜🎜현재 디렉터리에 메인 패키지가 존재하는 경우 현재 디렉터리 이름과 동일한 이름의 "디렉터리 이름.exe" 실행 파일이 생성됩니다(예: hello 디렉토리 go build 명령에서 hello.exe 파일이 생성됩니다), 메인 패키지가 존재하지 않으면 현재 디렉토리에 있는 프로그램 소스 코드의 구문 검사만 수행되며, 실행 파일이 생성됩니다. 🎜🎜go build 명령을 사용하여 이전 섹션에서 작성한 프로그램을 컴파일합니다. 실행 결과는 다음과 같습니다. 🎜
D:\code> go run demo.go
Hello World!
로그인 후 복사
로그인 후 복사
🎜여기서 D:code>는 다음 디렉터리에 해당합니다. D 드라이브 코드 폴더는 명령줄 도구에 의해 자동으로 추가되며 컴파일 명령의 일부가 아닙니다. 🎜

第 1 行go build命令后面的参数中,.\表示当前目录。在Windows 系统中,当前目录使用.\表示;在类 Unix 系统(例如 Linux、MacOS 等)中,当前目录使用./表示。

注意,这里的go build命令中.\可以省略不写,不会影响编译。

另外,go build命令只有在执行出错的情况下才会有返回信息,执行成功的话是没有返回信息的,但是会在当前目录生成一个与 main 包文件同名的 .exe 可执行文件,如下图所示。

Go 언어를 컴파일할 수 있나요?

第 2 行中的.\demo.exe表示执行当前目录下的 demo.exe 程序。

第 3 行则是 demo.exe 程序的运行结果。

3、go run 命令

除了使用go build命令外,Go语言还为我们提供了go run命令,go run命令将编译和执行指令合二为一,会在编译之后立即执行Go语言程序,但是不会生成可执行文件。

go run命令的语法格式如下:

go run fileName
로그인 후 복사
로그인 후 복사
  • 其中 fileName 为所需要的参数,参数必须是同一 main 包下的所有源文件名,并且不能为空。

使用go run命令对我们上一节编写的程序进行编译,运行结果如下所示:

D:\code> go run demo.go
Hello World!
로그인 후 복사
로그인 후 복사

可以看到第 1 行的go run命令执行后,直接在第 2 行输出了程序的运行结果。

更多编程相关知识,请访问:编程视频!!

위 내용은 Go 언어를 컴파일할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿