基本

brew install go
go ev
vim .bash_profile
export GOPATH=和go环境变量显示的一样
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN
source .bash_profile

或者使用docker环境开发,我的环境:通过vagrant&virtualBox安装centos安装docker安装golang docker.关于docker点击这里

go mod

go mod支持golang1.11+,解决Go依赖更新的问题,并且让项目源码可以在任意一个目录放置,不再像以前那样只能放在src.

mkdir testmod
cd testmod
package testmod

import "fmt" 

func Hi(name string) string {
   return fmt.Sprintf("Hi, %s", name)
}
go mod init github.com/robteix/testmod

提交

git init 
git add * 
git commit -am "First commit" 
git push -u origin master

使用刚才创建的包

go get github.com/robteix/testmod

使用刚才创建的包或者

package main

import (
    "fmt"

    "github.com/robteix/testmod"
)

func main() {
    fmt.Println(testmod.Hi("roberto"))
}

在项目目录根目录执行

go mod init mod
go build

更新包

go get -u
go get -u=patch
go get github.com/robteix/testmod@v1.0.1
go mod

download    download modules to local cache (下载依赖的module到本地cache))
edit        edit go.mod from tools or scripts (编辑go.mod文件)
graph       print module requirement graph (打印模块依赖图))
init        initialize new module in current directory (再当前文件夹下初始化一个新的module, 创建go.mod文件))
tidy        add missing and remove unused modules (增加丢失的module,去掉未用的module)
vendor      make vendored copy of dependencies (将依赖复制到vendor下)
verify      verify dependencies have expected content (校验依赖)
why         explain why packages or modules are needed (解释为什么需要依赖)