本文简单的指导,将完成下面事情:
有一些写代码的经历;
有一个编写代码的工具;
任何的文本编辑器都是可以的。绝大多数的编译器对Go的支持都是友好的。最流行的编译器VSCode(免费),GoLand(付费),Vim(免费)
一个命令行终端;
开始编写一个“Hello, World”的代码。
3.1 打开命令终端,并cd进入你的主目录:
$ cd
$
3.2 为你第一个Go源代码创建一个“hello”目录:
$ mkdir hello
$ cd hello/
$
3.3 让你的代码能够依赖跟踪
当你的代码导入包含在其它模块中的包时,通过你自己的代码模块来管理这些依赖。这个模块被定义在go.mod文件中,以便于跟踪提供这些包的模块。go.mod文件是保存在你的代码中,包含在你的源代码仓库中。
为了让你的代码通过go.mod文件进行依赖跟踪,运行go mod init 命令,给它一个你的代码将放入的模块名字。这个名字就是模块的模块路径。
在实际的开发中,模块路径通过是你的代码存放的仓库地址。例如,模块路径可能在githu.com/mymodule。如果你计划发布你的模块进让别人使用,那模块路径就必须是能通过Go工具下载的。
为了本文指导的目标,仅仅使用example/hello。
$ cd
$ mkdir hello
$ cd hello/
$ go mod init example/hello
go: creating new go.mod: module example/hello
3.4 在你的编译器中,创建一个hello.go 文件,用于写代码
3.5 将下面的代码复制到hello.go文件中,并保存文件
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
在这段代码中:
3.6 运行代码
$ go run .
Hello, World!
go run命令是Go中很多命令中用于执行一些事情的一个。使用下面的命令得到一个命令列表:
go help
当你需要让你的代码做一些事情,别人已经做实现了。你能查找拥有这个函数的包,使用在你的代码中。
4.1 让你打印的消息更有趣,使用一个外部模块的函数
rsc.io/quote, 点击进入;Documentation部分的Index下面,标注了一列可以在代码中调用的函数;你能使用pkg.go.dev站点查找已经发布的模块,它们包中的函数可以使用在代码中。
4.2 在你的代码中,导入rsc.io/quote,并调用Go函数
package main
import "fmt"
import "rsc.io/quote"
func main() {
// fmt.Println("Hello, World!")
fmt.Println(quote.Go())
fmt.Println(quote.Hello())
fmt.Println(quote.Glass())
fmt.Println(quote.Opt())
}
4.3 添加新模块
$ go mod tidy
go: finding module for package rsc.io/quote
go: found rsc.io/quote in rsc.io/quote v1.5.2
4.5 运行代码
$ go run .
Don't communicate by sharing memory, share memory by communicating.
当运行go mod tidy命令的时候,它将定位并下载rsc.io/quote