go语言的一些经验理解

1、对GOPATHGOROOT理解不到位
GOROOT设置为/usr/local/goGOPATH设置为/usr/local/go/bin。我们在go get代码的时候,下载下来的包,如github.com/Ballwang/imooc所在的路径为GOPATH/src/github.com/Ballwang/imooc。需要注意,这里的imooc是一个文件夹而不是一个文件。

注:go build 是将源码文件编译成一个二进制的可执行文件,如go build test.go可以在test.go所在的imooc文件目录下生成一个test可执行文件。只需./test便可输出执行结果。go run则是将程序直接运行并输出结果,不会生成二进制可执行文件。

2、我们要保证我们运行编译的源码文件位于GOPATH/src目录下,否则会报出type相关的异常。

3、本地找不到package
解决:在GoLand中使用go get命令,将需要的包下载下来。

go get 包名 可以借助代码管理工具通过远程拉取的方式更新代码包及其依赖,并自动完成编译和安装。使用 go get 前,需要安装git作为代码管理工具。一次go get,就能在GOPATH中新增若干相关的依赖包。

4、golang.org/x 类型的包get不下来
解决:其实 golang 在 github 上建立了一个镜像库,如 https://github.com/golang/net 即是 https://golang.org/x/net 的镜像库。
可以在镜像库中将包拉取下来,再按照import的层次结构,依次建立相关的文件夹,并将文件复制到相关的文件中。

5、pcap.h: No such file or directory
解决:yum install libpcap-devel

6、同一个package下不同go文件中的方法、变量都可以相互调用,单执行一个文件go run file.go会报方法、变量undefined异常。原因是undefined部分所在的另一个go文件并未一起编译。

解决方法:go run *.go 一起编译

7、package main、func main(){} 标志着go程序的入口。

参考:
1、make/make clean/make install/make dist/make distcheck/make distclean命令详解:https://blog.csdn.net/nichng/article/details/79806624

2、go run/go build/go get/go clean命令详解:https://blog.csdn.net/u012210379/article/details/50443636

3、Hello go工程实例:https://www.jb51.net/article/56765.htm

猜你喜欢

转载自blog.csdn.net/weixin_38645718/article/details/84945780