博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mac下golang开发环境配置
阅读量:6451 次
发布时间:2019-06-23

本文共 1833 字,大约阅读时间需要 6 分钟。

hot3.png

go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发。

下面介绍在Mac OS X中golang的开发环境配置。

1.安装brew

brew是一个mac下的由ruby开发的包管理系统,其官网是http://brew.sh。你只要在你的终端中执行

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

便可将其安装完成。

安装完之后输入命令

brew update

即可获得更新并切换到速度最快的源上

2.安装go

brew install go

3.安装分布式管理工具hg

brew install hg

4.建立go的环境变量文件夹

cd $HOME

mkdir go

vim ~/.bash_profile

加入

export GOPATH=$HOME/go

export PATH=$HOME/bin:$GOPATH/bin:$PATH

保存

source ~/.bash_profile

如果你用的是默认的终端这样做就可以了,但是我的Mac中除了bash还有zsh,平时是用zsh的,所以为了bash和zsh都可以运行go需要这样配置

vim ~/.profile

加入

export GOPATH=$HOME/go

export PATH=$HOME/bin:$GOPATH/bin:$PATH

保存

vim ~/.bash_profile

加入

source ~/.profile

保存

vim ~/.zshrc

加入

source ~/.profile

保存

这样两个终端的环境变量就都配置完成了

package mainimport "fmt"func main() {fmt.Printf("Hello, world")}

 

可以将此代码保存成一个test.go文件,输入命令go run test.go来测试运行

5.gosublime

相信更多人还是愿意用sublime来编写代码的

如果你没有Package Control可以按Ctrl + `输入以下代码安装

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation’

重启sublime后,按shift+ctrl+p输入install,然后搜goSublime将其安装

然后安装gocode作为代码提示工具,在终端中输入

go get -u 

go install 

这时我们按ctrl+b可以弹出一个控制台,输入go build test.go运行一个go代码发现提示我们环境变量没有配置,这是因为gosublime的环境变量需要单独去配置,bash和zsh配置的在gosublime中是不起作用的。

修改GoSublime配置:在 Preferences菜单下,找到Package Settings,然后找到 GoSublime,再往下找到 Settings - Default。再打开的文件中,将env中改为:

"env": { "GOPATH":"$HOME/go","PATH": "$HOME/bin:$GOPATH/bin:$PATH" },

并且对于shell我们也可以去修改,比如如果想换成zsh的话,可以改为:

"shell": [“$zsh"],

这时,我们运行go代码发现编译可以通过了

转载于:https://my.oschina.net/PHPDOTAER/blog/1573764

你可能感兴趣的文章
【下载分】C语言for循环语句PK自我活动
查看>>
VC++获得微秒级时间的方法与技巧探讨(转)
查看>>
HDOJ-1010 Tempter of the Bone
查看>>
MySQL my.cnf参数配置优化详解
查看>>
HDU/HDOJ 2102 A计划 广度优先搜索BFS
查看>>
第一个Django项目
查看>>
使用Django annotation,提升django查询性能
查看>>
Canvas 学习笔记(二)——基础图形的绘制
查看>>
51信用卡Android 架构演进实践
查看>>
拨云见日看什么是分布式系统?
查看>>
AWS推出深度学习容器,简化AI程序开发
查看>>
血淋淋的BUG:波音在软件开发上错在哪里?
查看>>
阿里新任CEO张勇首次电视采访:云计算将是阿里未来主要业务
查看>>
Docker发布应用程序指南
查看>>
Rider EAP17带来了许多改进但缺乏.NET Core调试功能
查看>>
别动我的代码!聊聊那些代码保护的艺术
查看>>
迅雷“星域”打通最后一公里重新定义CDN
查看>>
何时该用无服务器,何时该用Kubernetes?
查看>>
在Vue工作流中使用CSS Modules
查看>>
如何搭建一个私人网盘
查看>>