一、常用的Go工具命令
1 、go run命令
编译并执行main包(即程序的入口点),未生成独立的二进制文件。
2、go build命令
编译应用程序,包括所有的包及其依赖项,而无须进行安装。该命令创建一个二进制文件,但不会执行这个文件。使用-o output命令行选项考研更改已创建的二进制文件的名称。
在终端窗口,输入go build hello.go,生成hello的可执行文件,输入./hello执行该文件。
默认情况下,生成的二进制文件包含调试信息和字符表,这会让文件变大,为减小其占用空间,可在构建过程中使用一些选项,从二进制文件中剥离那些信息,如下:
go build -ldflags "-w -s"
二进制文件越小,越能让你在极端情况下有效的传输和嵌入。
3、交叉编译
使用build命令考研为多种操作系统和构架交叉编译程序。
进行交叉编译需要设置一个约束限制。这是将有关要为其编译代码的操作系统和构架的信息传递给build命令的一种方法。
三种方式引入编译约束限制:命令行、代码注释或文件扩展名命名约定。这里只讨论命令行的方法。
想交叉编译以前保存在window系统上的hello.go程序,使其可以在Linux64位架构上运行,则可以通过在运行build命令时设置GOOS和GOARCH约束限制和完成此操作。
GOOS="linux" GOARCR="amd64" go build hello.go
file hello
以上输出确认生成的二进制文件是64位ELF(Linux)文件
4、go doc命令
该命令可以让其查询有关包、函数、方法或变量的文档,该文档作为注释嵌入代码中。下面介绍获取有关函数fmt.Println()的详细信息(可惜是英文的)。
命令 go doc fmt.Println
go doc命令的输出信息是直接从源代码注释中获取的。只要对包、函数、方法和变量的注释足够充分,即可通过go doc命令自动检查文档。
5、go get命令
开发中很多go程序需要第三方包,要获取包的源码,可使用go get命令。
即使你导入了包,也无法访问,首先你必须运行go get命令,
使用go get github.com/stacktitan/ldapauth下载实际的包并将其放在对应的目录中。