坏蛋Dan
知乎@坏蛋Dan
发布时间:2024.1.3

前言

昨天我们安装好了go环境以及vscode拓展

坏蛋Dan:go基础学习--day1: 环境配置

今天我们来开启go的旅程


Getting Start!

我们创建一个go_study的文件夹,然后进去

接着我们执行go mod初始化指令[2]

然后你的文件夹中就会生成一个go.mod文件

这个文件的作用简单来说类似package.json,用来管理依赖的。

example/hello是我们的这个module自身的名字和路径,如果别人想下载我们的这个module,那么我们得定义路径这个go的工具才能知道从哪下载,比如github.com/hello,具体可以看Managing dependencies

然后我们在同目录下创建hello.go文件

  1. 我们定义了一个main的包,一个包是一种组织函数的方式,它由这个仓库(directory)中所有文件组合而成。
  2. 导入了fmt这个包,看名字就知道它是用来格式化文本的,同时它还提供了打印console的方法。这个包是标准库中的一个包,所以并不需要我们去下载,内置的。
  3. 实现了一个main的函数,它里面打印了hello world

然后我们go run .,差点打成cargo run了。。

如果你遇到了这个问题:reading ./hello.go: unexpected NUL in input

很有可能是文件编码格式不是utf-8

另外可以go help看其它指令。

使用外部包函数

现在我们用的是标准库里的函数,而标准库是内部的(internal),跟着core包一起下载下来的。

我们可以去pkg.go.dev里面找一个quote的包,它的文档里有函数的描述。

另外你发布的包也会在这里被看到。

我们来导入它们

但是现在还并不能执行,因为我们还没下载这个包。我们可以执行go mod tidy更新依赖。

然后重新运行go run .

记得这句话么?我们在学rust的无畏并发那一章时,作者就有提到过这一句。

参考

  1. ^Getting Start https://golang.google.cn/doc/tutorial/getting-started
  2. ^go mod init command https://golang.google.cn/ref/mod#go-mod-init

编辑于 2023-04-07 17:01・IP 属地广东