Sublime for mac 开发Golang : 一步步环境配置
安装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
|
参考
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
设置环境变量
我使用的Shell
是zsh
,其它的依次类推,编辑家目录下的.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 : 一步步环境配置的更多相关文章
- Xamarin Anroid开发教程之验证环境配置是否正确
Xamarin Anroid开发教程之验证环境配置是否正确 经过前面几节的内容已经把所有的编程环境设置完成了,但是如何才能确定所有的一切都处理争取并且没有任何错误呢?这就需要使用相应的实例来验证,本节 ...
- Infer 在 Mac 上的安装和环境配置
Infer 在 Mac 上的安装和环境配置 Infer 介绍 Infer 是一个静态分析工具.Infer 可以分析 Objective-C, Java 或者 C 代码,报告潜在的问题. 任何人都可以使 ...
- [转]Mac下cocos2dx-3.2+Xcode环境配置和项目创建
原文:http://blog.csdn.net/u012200908/article/details/38070885 这是有关环境配置的第二篇教程,第一篇讲的是win8下的环境配置.这里我们使用C+ ...
- golang之vscode环境配置
go语言开发,选择vscode作为IDE工具也是一个不错的选择,毕竟goland收费,老是破解也挺麻烦,除了这点,不过说实话挺好用的.vscode的话相对来说就毕竟原始,适合初学者. 1.vscode ...
- 使用EmBitz开发STM32项目的环境配置
一.EmBitz软件获取与安装 1.EmBitz软件的获取 EmBitz原名Em::Blocks,是基于Code::Blocks开发的,面向嵌入式的C/C++集成开发环境.支持J-Link和ST-Li ...
- PHP开发:Eclipse版环境配置
软件: 1.eclipse php版本下载地址:http://www.eclipse.org/downloads/packages/eclipse-php-developers/heliosr 2.A ...
- JAVA IntelliJ IDEA for mac/jdk的安装及环境配置、运行
现在配置完之后再回头看看,其实挺简单, 但我还是弄了好几个小时才配置出来, 不过好在是自己配置出来的, 每天都在慢慢进步. 安装及配置步骤如下: JAVA的IDE的话去jetbrains的官网上对应下 ...
- Dapr微服务应用开发系列1:环境配置
题记:上篇Dapr系列文章简要介绍了Dapr,这篇来谈一下开发和运行环境配置 本机开发环境配置 安装Docker 为了方便进行Dapr开发,最好(其实不一定必须)首先在本机(开发机器)上安装Docke ...
- weex 开发踩坑日记--环境配置、安卓运行、adb、开发
环境配置方面 1.需要安装java和android环境,java的话一定要下载jdk而不是jre. 在"系统变量"新建一个变量名为JAVA_HOME的变量,变量值为你本地java的 ...
随机推荐
- SerDes、RocketIO、GTX
1.SerDes:serdes = serial and deserial,就是组串器与解串器,也就是通用的高速IO. GTX,GTP,GTH等都是SERDES,只是速率不一样,XILINX叫其不同的 ...
- 第7讲 SPI和RAM IP核
学习目的: (1) 熟悉SPI接口和它的读写时序: (2) 复习Verilog仿真语句中的$readmemb命令和$display命令: (3) 掌握SPI接口写时序操作的硬件语言描述流程(本例仅以写 ...
- 菜鸟学SSH(一)——Struts实现简单登录(附源码)
从今天开始,一起跟各位聊聊java的三大框架——SSH.先从Struts开始说起,Struts对MVC进行了很好的封装,使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时 ...
- 将redis作为windows服务安装
1,下载redis并解压到一个目录下,然后切换到该目录下,也就是redis-server.exe文件所在的目录 2,在cmd下执行 redis-server --service-install red ...
- linux命令(47):Linux下对文件进行按行排序,去除重复行
Linux下对文件进行按行排序:sort 与 uniq 命令简介 Linux | May 24, 2015 | linux sort 命令可针对文本文件的内容,以行为单位进行排序.其基本语法格式为: ...
- lua的模块加载require
加载指定的模块.首先函数会在 package.loaded 这个表中查看是否已经加载 了 modname 这个模块.如果是,那么 require 会返回保存在 package.loaded[modna ...
- egret list不显示问题
1.循环滚动 2.单格滚动 不太清楚是把哪个约束勾上了,结果一直不显示,折腾了许久. 另外也不要把下面的这个约束勾上,否则不能滑动.
- JedisConnectionPool scala
/** * Created by lq on 2017/8/29. */ object JedisConnectionPool { val config = new JedisPoolConfig() ...
- 越狱机器SSH安装与使用
SSH安装html, body {overflow-x: initial !important;}.CodeMirror { height: auto; } .CodeMirror-scroll { ...
- Java new Date() bug
往 MongoDB 中 upsert 记录,记录中的一个字段是 Date 类型的,这个字段是我 new Date() 放进去的. 然后落库的时候,发现这个时间比当前时间要晚 1h30min 左右. 我 ...