mac vscode 配置golang

配置环境变量

打开terminal

1 cd ~进入用户主目录,
2 ls -all查看是否存在.bash_profile
3 vim .bash_profile打开并编辑该文件
4 根据自己的实际情况配置路径,我配置到了外置硬盘中

export GOPATH=/Volumes/gnhxsk/mygo
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

GOPATH:日常开发的根目录,Go从1.1版本到1.7版本必须设置这个变量,而且不能和Go的安装目录一样,这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。所以,这个目录下面有三个子目录:src、bin、pkg

src 存放源代码(比如:.go .c .h .s等)
pkg 编译后生成的文件(比如:.a)
bin 编译后生成的可执行文件((为了方便,可以把此目录加入到 $$PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录))

GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号,Linux系统是冒号,当有多个GOPATH时,默认会将go get的内容放在第一个目录下。

以上 $GOPATH 目录约定有三个子目录:

GOBIN:是GOPATH下的bin目录 go install 编译后产生的二进制文件放在这个目录
PATH:环境变量。需要gobin目录加入到path路径下,生成可执行文件就可以直接运行了。

执行下面的命令完成对golang环境变量的配置。

source ~/.bash_profile

Go env查看配置后的效果

Hellow World

src目录是开发程序的主要目录,所有的源码是放在这个目录下面。
例如:$GOPATH/src/mymath表示mymath这个应用包或者可执行应用,这个是根据package是main还是其他来决定,main的话是可执行应用,其他的话就是应用包.
1 执行如下代码,在src文件夹下创建mymath文件夹

cd $GOPATH/src
mkdir mymath

2 新建文件sqrt.go

package mymath
func Sqrt(x float64) float64{
     z := 0.0
     for i := 0; i < 1000; i ++{
        z -= (z * z - x) / (2 * x)
     }
     return z
}

3 编译应用

3.1 进入对应的应用包目录。然后执行go install,安装
3.2 在任意目录下执行go install mymath,安装
安装完成之后,可以进入如下目录,查看应用包

cd $GOPATH/pkg/${GOOS}_${GOARCH}
ls
mymath.a

4 调用应用包
4.1 新建应用包

cd $GOPATH/src
mkdir mathapp
cd mathapp
vim mian.go

main.go源码:

package main
import(
      "mymath"
      "fmt"
)
func main(){
      fmt.Printf("Hello,world. Sqrt(2) = %v\n",mymath.Sqrt(2))
}

4.2 编译程序

进入该应用目录,然后执行go build,那么在该目录下面会生成一个mathapp的可执行文件

./mathapp

输出如下内容

Hello,world. Sqrt(2) = 1.414213562373095

4.3 安装该应用

进入该目录执行go install,那么在$GOPATH/bin下增加了一个可执行文件mathapp,在terminal中输入如下命令可以执行

mathapp

也可以输出如下内容

Hello,world. Sqrt(2) = 1.414213562373095

安装VS Code

  • 1 到https://code.visualstudio.com下载Visual Studio Code,直接使用
  • 2 安装Go插件
  • 2.1 点击右边的Extensions图标,搜索Go插件,选择Go进行安装,安装之后,系统会提示重启Visual Studio
    mac vscode 配置golang_第1张图片
  • 2.2 可以打开自动保存功能。开启方法:选择菜单File,勾选
  • 2.3 用户设置
    在顶部菜单选择Code->首选项->设置
{
    "files.autoSave": "off",
    "go.buildOnSave": true,
    "go.lintOnSave": true,
    "go.vetOnSave": true,
    "go.buildFlags": [],
    "go.lintFlags": [],
    "go.vetFlags": [],
    "go.coverOnSave": false,
    "go.useCodeSnippetsOnFunctionSuggest": false,
    "go.formatOnSave": true,
    "go.formatTool": "goreturns",
    "go.goroot": "/usr/local/go",// 你的Goroot
    "go.gopath": "/Volumes/gnhxsk/mygo",// 你的Gopath
}

2.4 安装依赖包支持
* 自动安装:选择一个.go文件拖进入VS Code,然后VS Code会提示你安装依赖包,选择install all即可
* 手动安装:打开terminal,执行以下命令

go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/zmb3/gogetdoc
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v github.com/cweill/gotests/...

代码着彩色
代码自动完成(使用gocode)
代码片段
快速提示信息(使用godef)
跳转到定义(使用godef)
搜索参考引用(使用go-find-references)
文件大纲(使用go-outline)
重命名(使用gorename)
保存构建(使用go build和go test)
代码格式化(使用goreturns或goimports或gofmt)
调试代码(使用delve)

5.2.5 Visual Studio Code支持Go语言调试
执行以下命令:

go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
brew install go-delve/delve/delve
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv

修改“dlv-cert”证书

1.打开“钥匙串访问”
2.打开菜单->钥匙串访问->证书助理->创建证书
3.名称:dlv-cert 身份类型:自签名证书 证书类型:代码签名 并选择“让我覆盖这些默认值”
4.单击“继续”,有限期(天数):365,可以自己修改,3650
5.一直继续,直到看到“指定用于该证书的位置”钥匙串,选择“系统”并单击“创建”按钮
6.重启Finder,再打开“钥匙串访问”,选择“系统”,就会看到创建好的“dlv-cert”证书
7.右键”dlv-cert”证书,选择“显示简介->信任->代码签名”修改为:始终信任
8.打开terminal,进入到之前安装好的$GOPATH/src目录下的dlv源码文件目录:github.com/derekparker/delve
9.输入如下命令就可以重新编译出一个带代码签名的dlv执行程序

GO15VENDOREXPERIMENT=1 CERT=dlv-cert make install

一定要安装 Xcode Command Line Tools 才能使用dlv
xcode-select --install

go语言学习资料

1.go指南:官网链接:https://go-tour-zh.appspot.com/welcome/1(需要梯子),如果无法打开请用国内链接:http://tour.studygolang.com/

2.《the way to go》,如果看英文感觉吃力,github上无闻大牛已经做了中文译本:https://github.com/Unknwon/the-way-to-go_ZH_CN

3.《Go 学习笔记 第三版》雨痕写的,该电子书在github开源:https://github.com/qyuhen/book

4.《go web 编程》,是谢大(beego的作者)写的电子书,github中文目录链接:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md

5.《go编程基础》视频教程,此教程是无闻大牛讲解的,github视频链接:https://github.com/Unknwon/go-fundamental-programming

你可能感兴趣的:(golang)