>  기사  >  백엔드 개발  >  Go 언어에서 일반적으로 사용되는 명령은 무엇입니까?

Go 언어에서 일반적으로 사용되는 명령은 무엇입니까?

PHPz
PHPz원래의
2020-12-16 16:23:015393검색

go 언어의 일반적인 명령은 다음과 같습니다. 1. go build; 3. go get; . 버전 10으로 이동, 목록으로 이동.

Go 언어에서 일반적으로 사용되는 명령은 무엇입니까?

이 기사의 환경: windows10 시스템, Go 1.11.2, 이 기사는 모든 브랜드의 컴퓨터에 적용됩니다.

소개:

go 언어에서 일반적으로 사용되는 명령은 다음과 같습니다. 1. go build; 3. go fmt; 5. go install; . 수정으로 이동 9. 버전으로 이동 10. 목록으로 이동

(학습 영상 공유: 프로그래밍 영상)

일반적으로 사용되는 명령은 다음과 같습니다.

1. go build

go build 명령은 주로 컴파일 테스트에 사용됩니다. 패키지 컴파일 프로세스 중에 필요한 경우 패키지와 관련된 패키지도 동시에 컴파일됩니다. 일반 패키지라면 go build 명령을 실행해도 파일이 생성되지 않습니다. 메인 패키지인 경우 go build 명령어만 실행하면 현재 디렉터리에 실행 파일이 생성된다. $GOPATH/bin 아래에 해당 exe 파일을 생성해야 하는 경우 go install을 실행하거나 go build -o path/a.exe를 사용해야 합니다.

폴더에 여러 개의 파일이 있고 그 중 하나만 컴파일하려는 경우 go build a.go와 같이 go build 후에 파일 이름을 추가할 수 있습니다. go build 명령은 현재 디렉터리의 파일을 컴파일합니다. 기본적으로 모든 go 파일. 컴파일된 출력의 파일 이름을 지정할 수도 있습니다. 예를 들어 go build -o myapp.exe를 지정할 수 있습니다. 기본값은 패키지 이름(메인 패키지가 아님)이거나 첫 번째 소스 파일(메인 패키지)의 파일 이름입니다. go 빌드는 디렉토리에서 "_" 또는 "."으로 시작하는 go 파일을 무시합니다.

소스 코드에 운영 체제마다 다른 처리가 필요한 경우 운영 체제 접미사에 따라 파일 이름을 지정할 수 있습니다. 예를 들어 배열을 읽는 프로그램이 있습니다. 다양한 운영 체제에 대해 다음과 같은 소스 파일이 있을 수 있습니다.

array_linux.go
array_darwin.go
array_windows.go
array_freebsd.go

go 빌드 시 시스템 이름(Linux, Darwin, Windows, Freebsd)으로 끝나는 파일을 선택적으로 컴파일합니다. . 예를 들어 Linux 시스템에서는 array_linux.go 파일만 컴파일 대상으로 선택되며 다른 시스템에서는 접미사 이름이 있는 모든 파일이 무시됩니다.

2. go clean

go clean 명령은 현재 소스 코드 패키지에서 컴파일되고 생성된 파일을 제거하는 데 사용됩니다. 이 파일에는 Makefiles

_test/ 이전 테스트 디렉터리에 남겨진


_obj/ 이전 개체 디렉터리, Makefiles가 남긴 것 Makefiles 레거시
_testmain.go 오래된 gotest 파일, Makefiles의 레거시
test.out 오래된 테스트 레코드, Makefiles의 레거시
build.out 오래된 테스트 레코드, Makefiles의 레거시
*.[568ao] 객체 파일, Makefiles의 레거시
DIR(.exe)은 go build에 의해 생성됩니다.
DIR.test(.exe)는 go test -c에 의해 생성됩니다.
MAINFILE(.exe)은 go build MAINFILE.go에 의해 생성됩니다.

3 go fmt

fmt 명령은 주로 작성한 코드 파일의 형식을 지정하는 데 사용됩니다.

예를 들어, 형식이 잘못된 test.go 파일을 작성하는 경우 fmt go test.go 명령만 사용하면 코드 파일 형식을 지정하는 데 도움이 됩니다. 그러나 우리 개발 도구에는 일반적으로 저장할 때 자동 서식 지정 기능이 있기 때문에 일반적으로 이 명령을 거의 사용하지 않습니다. 이 함수의 맨 아래 계층은 실제로 go fmt 명령을 호출합니다.

go fmt 명령을 사용하세요. gofmt를 더 자주 사용하세요. 매개변수 -w가 필요합니다. 그렇지 않으면 형식 지정 결과가 파일에 기록되지 않습니다. gofmt -w src를 사용하면 전체 프로젝트의 형식을 지정할 수 있습니다.

4. go get

go get 명령은 주로 원격 코드 패키지를 동적으로 가져오는 데 사용됩니다. 현재 지원되는 것은 BitBucket, GitHub, Google Code 및 Launchpad입니다. 이 명령은 실제로 내부적으로 두 단계로 나누어집니다. 첫 번째 단계는 소스 코드 패키지를 다운로드하는 것이고, 두 번째 단계는 go install을 실행하는 것입니다. 소스 코드 패키지를 다운로드하기 위한 go 도구는 다양한 도메인 이름에 따라 다양한 소스 코드 도구를 자동으로 호출합니다. 해당 관계는 다음과 같습니다.

BitBucket(Mercurial Git)
GitHub(Git)
Google 코드 프로젝트 호스팅(Git, Mercurial, Subversion)
Launchpad (Bazaar)

따라서 go get이 제대로 작동하려면 적절한 소스 코드 관리 도구를 설치하고 이러한 명령을 PATH에 추가해야 합니다. 실제로 go get은 도메인 이름 사용자 정의 기능을 지원합니다. 자세한 내용은 go help 원격을 참조하세요.
go get 명령은 기본적으로 다음과 같이 이해될 수 있습니다. 먼저 소스 코드 도구를 통해 코드를 src 디렉터리에 복제한 다음 go install을 실행합니다.

5. go install

go install 명령은 실제로 내부적으로 두 단계로 나뉩니다. 첫 번째 단계는 결과 파일(실행 파일 또는 .a 패키지)을 생성하는 것이고, 두 번째 단계는 컴파일된 결과를 G O P A T H / p k g 또는 GOPATH/pkg 또는 GOPATH/pkg 또는 GOPATH/bin.

.exe 파일: 일반적으로 go install에 의해 생성되며 주요 기능이 포함된 go 파일입니다. 기능 항목이 있으며 직접 실행할 수 있습니다.

.a 애플리케이션 패키지: 일반적으로 기본 기능이 포함되지 않은 go 설치 및 go 파일로 생성되며 기능 항목이 없으며 호출만 가능합니다.

6. go test

go test 명령은 소스 코드 디렉터리 아래에 *_test.go라는 파일을 자동으로 읽어 테스트용 실행 파일을 생성하고 실행합니다. 출력정보는 비슷해요

ok archive/tar 0.011s FAIL archive/zip 0.022s ok compress/gzip
0.033s …

默认的情况下,不需要任何的参数,它会自动把你源码包下面所有test文件测试完毕,当然你也可以带上参数,详情请参考go help testflag

7、go doc

go doc 命令其实就是一个很强大的文档工具。

如何查看相应package的文档呢? 例如builtin包,那么执行go doc builtin;如果是http包,那么执行go doc net/http;查看某一个包里面的函数,那么执行godoc fmt Printf;也可以查看相应的代码,执行godoc -src fmt Printf;

通过命令在命令行执行 godoc -http=:端口号 比如godoc -http=:8080。然后在浏览器中打开127.0.0.1:8080,你将会看到一个golang.org的本地copy版本,通过它你可以查询pkg文档等其它内容。如果你设置了GOPATH,在pkg分类下,不但会列出标准包的文档,还会列出你本地GOPATH中所有项目的相关文档,这对于经常被限制访问的用户来说是一个不错的选择。

8、其他命令

go fix 用来修复以前老版本的代码到新版本,例如go1之前老版本的代码转化到go1

go version 查看go当前的版本

go env 查看当前go的环境变量

go list 列出当前全部安装的package

go run 编译并运行Go程序

对于不知道的命令,可以通过git help进行查看。

相关推荐:golang教程

위 내용은 Go 언어에서 일반적으로 사용되는 명령은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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