MacOS下配置go开发环境

/

软硬件环境

  • macOS Sierra
  • go 1.8

go语言简介

Go是Google开发的一种编译型、并发型、具有垃圾回收功能的编程语言,出自三位大牛罗伯特·格瑞史莫(Robert Griesemer)、罗勃·派克(Rob Pike)及肯·汤普逊(Ken Tompson)之手,于2009年11月正式推出。Go天生的支持并发,所以非常适合服务器端软件的开发,尤其是云计算领域。

安装go

下载go安装包https://golang.org/dl/,这里选择目前最新版本1.8,接着进行傻瓜式安装。

一点配置

  1. export GOPATH=/Users/djstava/Workshop/go
  2. export GOBIN=/Users/djstava/Workshop/go/bin
  3. export PATH=$PATH:$GOBIN

为方便起见,将上述配置语句写进~/.bash_profile,然后执行

  1. source ~/.bash_profile

设置完后,检查下是否配置成功,在terminal中输入go env

  1. GOARCH="amd64"
  2. GOBIN="/Users/djstava/Workshop/go/bin"
  3. GOEXE=""
  4. GOHOSTARCH="amd64"
  5. GOHOSTOS="darwin"
  6. GOOS="darwin"
  7. GOPATH="/Users/djstava/Workshop/go"
  8. GORACE=""
  9. GOROOT="/usr/local/go"
  10. GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
  11. GCCGO="gccgo"
  12. CC="clang"
  13. GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/1p/w8h4jd_94c5d9pvc0r2660wr0000gn/T/go-build205680752=/tmp/go-build -gno-record-gcc-switches -fno-common"
  14. CXX="clang++"
  15. CGO_ENABLED="1"
  16. PKG_CONFIG="pkg-config"
  17. CGO_CFLAGS="-g -O2"
  18. CGO_CPPFLAGS=""
  19. CGO_CXXFLAGS="-g -O2"
  20. CGO_FFLAGS="-g -O2"
  21. CGO_LDFLAGS="-g -O2"

这里需要说明一下,$GOPATH指定的是go工程目录,$GOBIN是go程序生成的可执行文件的路径

go工程目录结构

在$GOPATH目录中一般有3个子目录,分别是

  • src 存放源代码
  • bin 编译后生成的可执行文件,上面配置中已经将该目录放到$GOBIN中了
  • pkg 编译后生成的文件,比如.a文件

第一个go程序

环境配好了,照例写一个hello world程序吧

  1. cd $GOPATH
  2. mkdir src bin pkg
  3. cd src
  4. mkdir hello
  5. cd hello
  6. vi main.go

这里用vi编辑器进行编辑,在main.go文件中敲入如下代码

  1. package main
  2. import (
  3. "fmt"
  4. )
  5. func main() {
  6. fmt.Println("hello world!")
  7. }

编写完毕后,直接在hello文件夹下编译安装

  1. go install

生成的可执行文件hello,存放在$GOPATH/bin下

代码解析

这里的package跟java里的类似,main代表的是可执行应用,如果是其它的话表明这是个应用包。import语句是导入包的意思,fmt是系统内建的,Println是fmt中的函数,这个很容易理解。

常见的IDE

一直非常喜欢jetbrains的全家桶,但是他们家的go IDE Gogland还没有发布正式版,测试版勉强可以用,下载地址https://www.jetbrains.com/go/?fromMenu。

除此之外,大部分都是文本编辑器+go插件的组合,在github上找到一个列表组合,可以去看看,地址是https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/01.4.md

参考资料

https://golang.org/doc/

转载请注明作者和出处,并添加本页链接。
原文链接: http://xugaoxiang.com/post/5

给我留言