安装Go
首先安装Go对应版本压缩包
然后输入指令:
tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
然后在 /usr/local/
就有了 go
文件夹
接着我们进行环境变量的设置:
输入指令
sudo gedit /etc/profile
然后在末尾加上:
export PATH=$PATH:/usr/local/go/bin
最后再输入:
source /etc/profile
即可。
测试安装
首先在Home下创建一个workspace,即$HOME/go
,然后在其下创建一个 src/hello
文件夹,然后在其下创建一个叫 hello.go
的文件:
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
然后保存,在其文件夹下 hello.go
文件。
然后我们在 src/hello
下进行:
go build
突然会遇见这样的错误:
可以发现在打开hello文件夹的时候,权限不足,所以我们需要进行权限打开:
sudo chmod 777 hello/
这样我们再 go build
就成功了,多了一个 hello
的可执行文件。
通过指令:
./hello
打印了最终的结果:
gofmt
gofmt( gofmt
或 go fmt
)是一种可以用来来帮助开发者格式化他们的代码到统一的风格的工具。
gofmt是一个命令行(cli)程序,会优先读取标准输入。如果传入了文件路径的话,会格式化这个文件;如果传入一个目录,会格式化目录中所有.go文件,如果不传参数,会格式化当前目录下的所有.go文件。
go vet
go vet
检查 go 源代码并报告可疑的构造,例如printf
调用,其参数与格式字符串不一致vet使用的启发式方法不能保证所有的报告都是真正的问题,但是它可以找到编译器没有捕捉到的错误。
举个例子,按照上面的方式创建一个文件夹vet
下面写一个 test.go
package main
import "fmt"
func main() {
str := "hello world!"
fmt.Printf("%d\n", str)
}
这个文件有一个明显的问题,str为一个字符串,但是输出的format为 %d
。
我们先尝试一下 go build
,然后执行./vet
,结果为:
然后我们使用指令:
go vet test.go
得到结果:
则显示了错误。