mac-go安装

白俊遥博客

安装参照了这篇文章,可以借鉴着看看

https://www.jianshu.com/p/5b9d14ef0fcd

下载

https://studygolang.com/dl


双击下载后的dmg进行安装,安装成功后,打开终端,输入下面命令查看是否安装成功

go version

如果显示go version go1.8.1 darwin/amd64那么恭喜你,安装成功。

环境变量配置
  1. 打开终端,cd ~进入主目录

  2. ls -all查看所有文件,看是否存在.bash_profile文件

  3. 如果不存在,则执行touch .bash_profile新建

  4. 如果存在,则执行vi .bash_profile打开进行编辑

    在文件中添加如下参数

  5. export GOPATH=/Users/xxxxx/Go
    export GOBIN=$GOPATH/bin
    export PATH=$PATH:$GOBIN


  1. 保存编辑,然后在执行source ~/.bash_profile,完成环境变量的配置

  2. go env查看我们配置成功后的环境变量

说明:

GOPATH:为我们开发常用的目录,建议不要和Go的安装目录一致,在该文件夹下又有三个文件夹:srcpkgbin ,这里src我是自己新建的,pkgbin是后面生成的。怎么生成的,后面会说到。

  1. src:主要存放我们的源代码

  2. bin:存放编译后生成的可执行文件,可以自己执行

  3. pkg: 编译后生成的文件(.a文件)(非main函数的文件在go install后生成)

GOBIN:是GOPATH下的bin目录

PATH:环境变量,需要go-bin目录加入到path路径下,生成可执行文件就可以直接运行了。


示例

通过终端进入我们配置好的路径xxx\Go\src中,新建一个文件夹hellotestmkdir hellotest),新建一个hello.govi hello.go)文件,输入如下代码

package hellotestfunc HelloTets(s string) string {
    return string(s)}

保存退出后,在当前路径执行go install,如果没有pkg文件夹,那么执行成功后,会在xxx\Go下面生成一个,并且生成一个go的执行文件。

下面我们在建一个maintest文件夹,然后新建一个main.go文件,在其中输入下面的内容

package mainimport (
    "fmt"
    "hellotest")func main() {
    fmt.Printf(hellotest.HelloTets("你说我该怎么说呢"))}

并在当前文件夹中,执行下面的命令

go build

也可以指定名称    go build hello.go

这样,我们就成功调用了之前的库文件,并且你会发现在当前文件夹中多了一个可执行文件maintest没错,就是这样的一个执行文件。再执行下面的命令

./maintest

便会输出

你说我该怎么说呢

再执行

go install

这时我们的执行文件就不再存在改文件中,而是转移到了bin文件夹中。
当然,我们也可以直接运行我们的main.go文件,如下

 go run main.go

注:刚开始的小坑

  1. 大写字母开头的变量是可导出的,也就是其它包可以读取的,是公有变量;小写字母开头的就是不可导出的,是私有变量。

  2. 大写字母开头的函数也是一样,相当于class中的带public关键词的公有函数;小写字母开头的就是有private关键词的私有函数



错误

build cache is required, but could not be located: GOCACHE is not defined and $HOME is not defined

解决

执行 go env > go_env  将go env用到的环境变量写入到文件go_env (这个文件名可以随便定义)

然后再执行 sed -i "" "s/^/export  /"  go_env 

然后将go_env追加到~/.bashrc中: cat  go_env >> ~/.bashrc

最后执行source ~/.bashrc  让环境变量生效


然后会出现这个报错

build cache is disabled by GOCACHE=off, but required as of Go 1.12

解决

vim ~/.bash_profile

文件修改:


export GOPATH=/Users/xieyang/project/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
export GOCACHE="/Users/xieyang/project/go/cache"


source ~/.bash_profile

最后执行最上面的步骤

package main
import "fmt"
func main(){
fmt.Println("hello");
}

这里注意一下

Println 这个ln 是L的小写


白俊遥博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论