安装Golang

官网上直接下载安装包就可以了。下载pkg格式的最新安装包 ,直接双击运行,一路按照提示操作就可以完成安装。

或者使用brew进行安装 brew install go

完成安装之后,打开终端,输入 go version ,检查golang sdk是否安装成功。

➜ ~ go version
go version go1.3.3 darwin/amd64

环境变量配置

GOPATH是用来告诉Golang命令和其他相关工具 ,在哪儿可以找到你的Go包目录。

GOPATH是一个路径列表,类似PATH的配置。

GOPATH=~/workspace/demo/go-demo

我将Golang的相关配置都写在一个独立的.golangrc的文件中,然后在.zshrc中引入

source ~/.golangrc

如果你在GOLANG中配置了多个目录的话,当你下载开源包是(go get *****),开源包默认会找到第一个目录,会统一下到第一个目录的pkg目录下。

go官方推荐的项目结构

bin/
hello # command executable
outyet # command executable
pkg/
linux_amd64/
github.com/golang/example/
stringutil.a # package object
src/
github.com/golang/example/
.git/ # Git repository metadata
hello/
hello.go # command source
outyet/
main.go # command source
main_test.go # test source
stringutil/
reverse.go # package source
reverse_test.go # test source

参考

http://golang.org/doc/code.html

Sublime安装GoSublime

Package Control如何安装我就不说了。直接安装GoSublime插件

Mac OSX下使用Command + Shift + P打开Package Control,然后输入 pcip (Package Control:Install Package的缩写)

在随后的界面中输入GoSublime,回车,就开始安装GoSubmlime了。

当你可以在Sublime的 Preferences -> Package Settings 看到 GoSublime ,那么恭喜你,你的基于Sublime的Golang开发环境就搭建完成了。

这里笔者选用的是sublime text安装gosublime插件进行开发(golang语法高亮提示),安装方式这里就不多提了。

配置好开发环境之后,简单的进行一下go语言的开发。在你的gopath下的src目录下,新建一个文件夹(以项目名称命名),然后在sublime中打开该文件夹,新建main.go文件即可以进行编码了。

packagemainimport("fmt")funcmain(){  fmt.Println("hello");}

代码编写完成之后,使用command+b打开sublime text终端,使用go build xx(项目名称)对其进行编译,编译通过的结果信息如下:

[ `go build main.go` | done:320.650295ms ]

提示编译成功之后,再执行shell命令,执行刚刚编译之后的文件./hellogo即可看到运行结果:

[ `./main` | done:12.281054ms ]  hello

如果仅仅是只需要看到运行的结果,而不产生可执行文件(文件名和项目名一样)则在sublime text终端中直接使用go run xxx.go即可:

[ `go run main.go` | done:222.787159ms ]  hello

到目前为止,我们已经安装好了开发golang程序的基本环境!

简单回顾一下 整个过程:

Go 语言是由Google推出的一门编程语言,被认为是21世纪的 C语言,本文介绍如何在 Mac OS下设置Go语言开发环境,最快捷的方式使用brew安装 Go,再设置相应的环境变量。

安装 Go

$ brew install go

设置环境变量

我使用的Shellzsh,其它的依次类推,编辑家目录下的.zprofile,如果使用的bash,则相应的文件为~/.bash_profile

1
2
3
4
5
$ vim .zprofile
# Go development
export GOPATH=$HOME/dev/go
export GOROOT="$(brew --prefix golang)/libexec"
export PATH="$PATH:$GOPATH/bin:$GOROOT/bin"

使环境变量生效

在命令行终端执行

$ sourse .zprofile

查看环境变量是否生效

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ go env
GOARCH="amd64"
GOBIN="/User/pengshp/dev/go/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/pengshp/dev/go"
GORACE=""
GOROOT="/usr/local/opt/go/libexec"
GOTOOLDIR="/usr/local/opt/go/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

开发工具

对于初期的学习老说,开发工具可以选用Sublime Text 3或者是VScode,Sublime安装一个GoSublime的插件,VScode也有相应的插件。


Sublime for mac 开发Golang : 一步步环境配置的更多相关文章

  1. Xamarin Anroid开发教程之验证环境配置是否正确

    Xamarin Anroid开发教程之验证环境配置是否正确 经过前面几节的内容已经把所有的编程环境设置完成了,但是如何才能确定所有的一切都处理争取并且没有任何错误呢?这就需要使用相应的实例来验证,本节 ...

  2. Infer 在 Mac 上的安装和环境配置

    Infer 在 Mac 上的安装和环境配置 Infer 介绍 Infer 是一个静态分析工具.Infer 可以分析 Objective-C, Java 或者 C 代码,报告潜在的问题. 任何人都可以使 ...

  3. [转]Mac下cocos2dx-3.2+Xcode环境配置和项目创建

    原文:http://blog.csdn.net/u012200908/article/details/38070885 这是有关环境配置的第二篇教程,第一篇讲的是win8下的环境配置.这里我们使用C+ ...

  4. golang之vscode环境配置

    go语言开发,选择vscode作为IDE工具也是一个不错的选择,毕竟goland收费,老是破解也挺麻烦,除了这点,不过说实话挺好用的.vscode的话相对来说就毕竟原始,适合初学者. 1.vscode ...

  5. 使用EmBitz开发STM32项目的环境配置

    一.EmBitz软件获取与安装 1.EmBitz软件的获取 EmBitz原名Em::Blocks,是基于Code::Blocks开发的,面向嵌入式的C/C++集成开发环境.支持J-Link和ST-Li ...

  6. PHP开发:Eclipse版环境配置

    软件: 1.eclipse php版本下载地址:http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosr 2.A ...

  7. JAVA IntelliJ IDEA for mac/jdk的安装及环境配置、运行

    现在配置完之后再回头看看,其实挺简单, 但我还是弄了好几个小时才配置出来, 不过好在是自己配置出来的, 每天都在慢慢进步. 安装及配置步骤如下: JAVA的IDE的话去jetbrains的官网上对应下 ...

  8. Dapr微服务应用开发系列1:环境配置

    题记:上篇Dapr系列文章简要介绍了Dapr,这篇来谈一下开发和运行环境配置 本机开发环境配置 安装Docker 为了方便进行Dapr开发,最好(其实不一定必须)首先在本机(开发机器)上安装Docke ...

  9. weex 开发踩坑日记--环境配置、安卓运行、adb、开发

    环境配置方面 1.需要安装java和android环境,java的话一定要下载jdk而不是jre. 在"系统变量"新建一个变量名为JAVA_HOME的变量,变量值为你本地java的 ...

随机推荐

  1. SerDes、RocketIO、GTX

    1.SerDes:serdes = serial and deserial,就是组串器与解串器,也就是通用的高速IO. GTX,GTP,GTH等都是SERDES,只是速率不一样,XILINX叫其不同的 ...

  2. 第7讲 SPI和RAM IP核

    学习目的: (1) 熟悉SPI接口和它的读写时序: (2) 复习Verilog仿真语句中的$readmemb命令和$display命令: (3) 掌握SPI接口写时序操作的硬件语言描述流程(本例仅以写 ...

  3. 菜鸟学SSH(一)——Struts实现简单登录(附源码)

    从今天开始,一起跟各位聊聊java的三大框架——SSH.先从Struts开始说起,Struts对MVC进行了很好的封装,使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时 ...

  4. 将redis作为windows服务安装

    1,下载redis并解压到一个目录下,然后切换到该目录下,也就是redis-server.exe文件所在的目录 2,在cmd下执行 redis-server --service-install red ...

  5. linux命令(47):Linux下对文件进行按行排序,去除重复行

    Linux下对文件进行按行排序:sort 与 uniq 命令简介 Linux | May 24, 2015 | linux sort 命令可针对文本文件的内容,以行为单位进行排序.其基本语法格式为: ...

  6. lua的模块加载require

    加载指定的模块.首先函数会在 package.loaded 这个表中查看是否已经加载 了 modname 这个模块.如果是,那么 require 会返回保存在 package.loaded[modna ...

  7. egret list不显示问题

    1.循环滚动 2.单格滚动 不太清楚是把哪个约束勾上了,结果一直不显示,折腾了许久. 另外也不要把下面的这个约束勾上,否则不能滑动.

  8. JedisConnectionPool scala

    /** * Created by lq on 2017/8/29. */ object JedisConnectionPool { val config = new JedisPoolConfig() ...

  9. 越狱机器SSH安装与使用

    SSH安装html, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeMirror-scroll { ...

  10. Java new Date() bug

    往 MongoDB 中 upsert 记录,记录中的一个字段是 Date 类型的,这个字段是我 new Date() 放进去的. 然后落库的时候,发现这个时间比当前时间要晚 1h30min 左右. 我 ...