mac 安装和运行go的helloword

q454684431 · · 8599 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

哈哈,好激动,又接触到一门强大的语言,简单记录下在mac上运行第一个程序遇到的问题。

Hello Word 示例,pkg安装包: wget https://storage.googleapis.com/golang/go1.2.2.darwin-amd64-osx10.8.pkg,下载后,需要设置环境变量才ok哦,如,我的

bash_profile文件,

GOARCH="386"  # 386是来自 uname -p 获取的哦

GOBIN=""

GOCHAR="6"

GOEXE=""

GOHOSTARCH="386" # 386是来自 uname -p 获取的哦

GOHOSTOS="darwin"

GOOS="darwin"

GOPATH=""

GORACE=""

GOROOT="/usr/local/go"

GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"

TERM="dumb"

CC="clang"

GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fno-common"

CXX="clang++"

CGO_ENABLED="1"

source bash_profile即可;

如果在build时出现类似下面的错误(go build runtime: darwin/amd64 must be bootstrapped using make.bash),可以尝试如下命令,再次编译:
$ GOOS=darwin GOARCH=amd64 go build -x -o testport_linux hello.go 
WORK=/var/folders/vp/f5r3wgld1w133srlbyd4190m0000gn/T/go-build683397936
mkdir -p $WORK/command-line-arguments/_obj/
cd /Users/jake/rdd/golang
/usr/local/go/pkg/tool/darwin_amd64/6g -o $WORK/command-line-arguments/_obj/_go_.6 -p command-line-arguments -complete -D _/Users/jake/rdd/golang -I $WORK ./hello.go
/usr/local/go/pkg/tool/darwin_amd64/pack grcP $WORK $WORK/command-line-arguments.a $WORK/command-line-arguments/_obj/_go_.6
cd .
/usr/local/go/pkg/tool/darwin_amd64/6l -o testport_linux -L $WORK $WORK/command-line-arguments.a
我们发现Go实际上用的是$GOROOT/pkg/tool/linux_amd64下的6g(编译器)和6l(链接器)来完成整个编译过程的,看到6g 和6l所在目录名为linux_amd64,我们可以大胆猜测编译darwin/amd64 go程序应该使用的是$GOROOT/pkg/tool/darwin_amd64下的工具。不过在我在$GOROOT/pkg/tool下没有发现 darwin_amd64目录,也就是说我们通过安装包安装的Go仅自带了for linux_amd64的编译工具,要想交叉编译出for darwin_amd64的程序,我们需要通过make.bash来手工编译出这些工具。
根据make.bash的用法说明,我们来尝试构建一下:


cd $GOROOT/src
sudo GOOS=darwin GOARCH=amd64 ./make.bash


编译后,我们再来试试编译for darwin_amd64的程序:


$ GOOS=darwin GOARCH=amd64 go build -x -o test_darwin hello.go


此时,如果在当前目录生成了test_darwin文件,那就执行,看下久违的hello world。那就修改环境变量:
 $ export GOARCH=amd64



有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:q454684431

查看原文:mac 安装和运行go的helloword

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

8599 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传