1、对GOPATH和GOROOT理解不到位

GOROOT设置为/usr/local/go 。GOPATH设置为/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程序的入口。

更多go语言请关注go语言教程栏目。

更多相关文章

  1. golang io读取文件与判断文件是否存在的方法
  2. golang查找文件是否存在的方法
  3. golang中fscanf读取文件时把回车替换成0
  4. golang判断是否存在不存在就创建文件
  5. golang中.a文件是什么
  6. golang判断js文件是否存在
  7. golang判断文件是否存在的方法
  8. golang检查文件是否存在的方法
  9. golang代码能不能加密

随机推荐

  1. 使用 PHP usort() 通过用户自定义的比较
  2. 锁定表是否可以通过包含的脚本访问
  3. 更改数组键而不更改顺序
  4. php执行shell不阻塞方法
  5. php 36进制与10进制转换
  6. Angular Js $ http.get CORS问题 - 在Jqu
  7. Thinkphp中怎么接收GET变量?
  8. phpMyAdmin - MySQL扩展缺失
  9. 使用AJAX与拖放jQuery插件
  10. 通过SSH将MySQL绑定到本地端口——在控制