GOPATH是包加载路径的变量,根据需要设置路径
在 /etc/profile中添加
export PATH=$PATH:/var/local/go/bin
export GOROOT=/var/local/go
export GOPATH=/home/go/gopath
使环境变量生效
source /etc/profile
使用 go env 能正常打印环境信息说明安装成功了。
安装第三方包
使用 go get安装包
go get -u -v -x golang.org/x/net/http
golang.org国内安装不了,可以使用github下载然后做个软链接
go get -u -v -x github.com/golang/net/http
mkdir $GOPATH/src/golang.org
ln -s $GOPATH/src/github.com $GOPATH/src/golang.org/x
【解决过程】
1.很明显,是在windows的cmd中,找不到hg。
而对于hg,如果是cygwin等环境,那肯定没问题,但是此处是cmd,所以没法用hg。
2.参考:
``
[package code.google.com/p/go.example/hello: exec: “hg”: executable file not found in %PATH%. How to get remote golang packages?]`
go get code.google.com/p/log4go
先看一下目录结构,注意这里的src名称是必须的,go在设置了GOPATH后,默认会添加src去寻找package,暂未查询是否有方法不按照src查询
根据上面的描述,Go语言中通过包中函数的名称来区分公共函数和私有函数,我们在main函数中是无法调用myPrivateFunc的
此时如果执行通过go run方式执行,会看到如下的提示信息,这与大部分语言对于包管理方式相关,所以我们通过两种不同的方法来让代码执行起来
返回如下,这里面对我们后续执行有影响的两个参数GO111MODULE和GOPATH
如果要使用gopath模式引用包,则需要关闭mod模式
设置GOPATH为当前路径,即main.go所在的路径
此时再查看go env时,GOPATH已经发生改变
我们再次尝试执行代码
可以看到public函数被调用