Go语言入门篇-命令 与 语法

Posted kaixinyufeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言入门篇-命令 与 语法相关的知识,希望对你有一定的参考价值。

一。命令基础

1. go run :

用于运行命令源码文件(如:go run helloworld.go)

只能接受一个命令源码文件以及若干个库源码文件作为文件参数

其内部操作步骤:

(1)先编译源码文件再运行

先会编译作为参数的源码文件-》编译结果放入临时文件夹中-》运行编译的结果。

编译结果包括:命令源码文件(.go)和编译后生成的可执行文件和编译后所生成的归档文件(.a)

示例:

技术分享图片

技术分享图片

go run helloworld.go -p ~goc2p/src/helper/    //打印目录

go run常用标记:

-a:强制编译相关代码,不论它们的编译结果是否已是最新的。(go run  -a xx.go)

    如当前有一个命令源码文件,导入代码包A,代码包A在之前已编译过,且在编译后,代码包A没有产生任何变化,则GO是不会再编译的。加-a强制再编译。

-n:打印编译过程中所需运行的命令,但不真正执行它们。(go run -n xx.go)

-p n :并行编译,其中n为并行的数量 (n最好为逻辑CPU个数) (go run -p n xx.go)

-v:列出被编译代码包的名称(go run -v xx.go)

-a -v:列出所有被编译的代码包名称

     注意:1.3中的所有:包含GO语言自带的标准库的代码包

              1.4中的所有:不包含GO语言自带的标准库的代码包

-work:显示编译时创建的临时工和目录的路径,并且不删除它。

-x:打印编译过程中所需运行的命令 (与-n相似)

    -x:打印编译过程中所需的命令,并执行他们

    -n:打印编译过程中所需的命令,但并不执行他们

2.go build 和 go install

go build:

用于编译源码文件或代码包

编译非命令源码(库源码)文件不会产生任何结果文件

编译命令源码文件会在该命令的执行目录中生成一个可执行文件

执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并编译

执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被编译

  加入-a标记后所有涉及到的代码包都会被重新编译

  不加入-a标记,则只会编译归档文件不是最新的代码包

执行该命令且以若干源码文件作为参数时,只有这些文件会被编译

 

go install:

用于编译并安装代码包或源码文件

安装代码包会在当前工作区的pkg/<平台相关目录>下生成归档文件

安装命令源码文件会在当前工作区的bin目录或$GOBIN目录下生成可执行文件

执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并安装

执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被安装

执行该命令且以命令源码文件及相关库源码文件作为参数时,只有这些文件会被编译并安装 

3.go get 

技术分享图片

使用go get从远程仓库拉取代码,会生成pkg目录(存放归档文件, .a后缀)

go get 常用标记:

技术分享图片

技术分享图片

二。Go语法

 

以上是关于Go语言入门篇-命令 与 语法的主要内容,如果未能解决你的问题,请参考以下文章

Go 函数式编程篇:函数使用入门和常用内置函数介绍

GO语言语法入门

Go语言入门篇-基本数据类型

我的Go+语言初体验——Go语言总结篇(语法+实际问题解决方案)

go语言基础语法篇-变量

go语言基础语法篇-变量