环境
go version go1.10.1 darwin/amd64
导入路径
导入路径是唯一标识包的字符串。程序包的导入路径对应于其在工作区内或远程存储库中的位置(如下所述)。
标准库中的软件包被赋予短的导入路径,如"fmt"和"net/http"。对于你自己的软件包,你必须选择一个基本路径,这个基本路径不可能与未来添加到标准库或其他外部库中相冲突。
如果您将代码保存在某个源代码库中,那么您应该使用该代码源的根目录作为您的基本路径。例如,如果您在github.com/user上有GitHub帐户,那应该是您的基本路径。
请注意,在构建它之前,您不需要将代码发布到远程存储库。组织代码就好像你将在某天发布一样,这只是一个好习惯。在实践中,您可以选择任意路径名称,只要它是标准库和更大的Go生态系统所特有的即可。
我们将使用github.com/user作为我们的基本路径。在您的工作空间内创建一个目录以保留源代码:
$ mkdir -p $GOPATH/src/github.com/durban.zhang
第一个程序
要编译并运行一个简单的程序,首先选择一个包路径(我将使用github.com/user/hello)并在工作区内创建一个相应的包目录:
$ mkdir $GOPATH/src/github.com/durban.zhang/hello
接下来,在该目录内创建一个名为hello.go的文件,其中包含以下Go代码。
package main
import "fmt"
func main() {
fmt.Printf("Hello, world.\n")
}
现在,可以使用go tool来构建和安装该程序:
$ go install github.com/durban.zhang/hello
请注意,您可以从系统上的任何位置运行此命令。go tool通过在GOPATH指定的工作区内查找github.com/user/hello包来查找源代码。
如果从软件包目录运行go install,也可以省略软件包路径:
$ cd $GOPATH/src/github.com/durban.zhang/hello
$ go install
该命令构建hello命令,生成可执行的二进制文件。然后,它会以hello的形式将该二进制文件安装到工作区的bin目录中(或者在Windows下,hello.exe)。
在我们的例子中,这将是$GOPATH/bin/hello,它是$HOME/go/bin/hello。
go tool只会在发生错误时打印输出,因此如果这些命令不产生任何输出,代表将成功执行。
现在可以通过在命令行键入完整路径来运行该程序:
$ $GOPATH/bin/hello
Hello, world.
或者,如果已将$GOPATH/bin添加到您的PATH中,请输入二进制名称
$ hello
Hello, world.
如果使用的是源代码管理系统,现在可以进行初始化存储库,添加文件以及提交第一项更改。这一步是可选的:也可以不需要使用源代码控制来编写Go代码。
$ cd $GOPATH/src/github.com/durban.zhang/hello
$ git init
Initialized empty Git repository in /home/durban/work/src/github.com/durban.zhang/hello/.git/
$ git add hello.go
$ git commit -m "initial commit"
[master (root-commit) 0b4507d] initial commit
1 file changed, 1 insertion(+)
create mode 100644 hello.go
将代码推送到远程存储库作为自己的练习
这里使用的是官方的例子,本地实践操作顺利通过。
版权声明
由 durban创作并维护的 小绒毛的足迹博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 博客( https://www.xiaorongmao.com ),版权所有,侵权必究。