Go语言基础

介绍

技术 特性 适用场景 说明
Go - 静态编译语言的安全和性能
- 动态语言开发维护的高效
- 天然高并发
- 多返回值
- 区块链
- 后端服务器应用
- 云计算/云服务后台应用
- 官网
- 下载
- Doc
delve Go调试 - Github
vscode-go -

安装

方法1:homebrew

通过homebrew安装Go

1
2
$ brew update && brew upgrade
$ brew install go

配置环境变量

1
2
3
4
5
6
7
8
9
10
$ vi ~/.bash_profile
##### 内容如下 #####
#GOPATH
export GOPATH=$HOME/Documents/Workspace/go

#GOPATH bin
export PATH=$PATH:$GOPATH/bin
##### 内容结束 #####

$ source ~/.bash_profile

方法2:pkg包

直接去官方下载安装包,然后双击安装,之后同样地输入go、go env、go version等查看是否安装。

配置环境变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ vi ~/.bash_profile
##### 内容如下 #####
#GOROOT
export GOROOT=/usr/local/go

#GOPATH
export GOPATH=$HOME/Documents/Workspace/go

#GOROOT bin
export PATH=$PATH:$GOROOT/bin

#GOPATH bin
export PATH=$PATH:$GOPATH/bin
##### 内容结束 #####

$ source ~/.bash_profile

检查

1
2
3
4
5
6
# 查看使用帮助
$ go
# 查看环境变量
$ go env
# 查看当前版本
$ go version

基本命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 编译
## 在项目目录下执行
$ go build

## 在非项目目录下执行(path从GOPATH/src/ 后的路径开始写起)
$ go build path -o <输出文件的路径及文件名>

# 像执行脚本一样执行Go代码
$ go run main.go

# 编译并将可执行文件拷贝到 GOPATH/bin
$ go install

# 跨平台编译
## Mac 下编译 Linux 和 Windows平台 64位 可执行程序
$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

## Linux 下编译 Mac 和 Windows 平台64位可执行程序
$ CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build
$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

## Windows下编译Mac平台64位可执行程序
$ SET CGO_ENABLED=0
$ SET GOOS=darwin
$ SET GOARCH=amd64
$ go build

# 格式化
$ go fmt main.go

配置 IDE

Visual Studio Code

安装 Go 插件

【Code】-> 【Preferences】-> 【Extensions】-> 搜索 Go -> 安装 -> 重启 Visual Studio Code

配置自动保存

【File】->【Auto Save】

安装语言工具包

可以实现代码自动补全和自动导包。 【Code】-> 【Preferences】-> 【Settings】-> 搜索 Go -> settings.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"terminal.integrated.shell.osx": "/bin/zsh",
"terminal.integrated.fontFamily": "Meslo LG M for Powerline",
"workbench.startupEditor": "newUntitledFile",
"files.autoSave": "afterDelay",
"go.goroot": "",
"go.gopath": "",
# 解决自定义包或第三方库无法出现代码提示的问题
"go.inferGopath": true,
# 自动完成未导入的包
"go.autocompleteUnimportedPackages": true,
"go.gocodePackageLookupMode": "go",
"go.gotoSymbol.includeImports": true,
"go.useCodeSnippetsOnFunctionSuggest": true,
"go.useCodeSnippetsOnFunctionSuggestWithoutType": true,
# 解决函数无法跳转问题
"go.docsTool": "gogetdoc",
# 配置代理
"http.proxy": "http://127.0.0.1:8001",
}

Command+Shift+P -> Go:Install/Update Tools -> 全选 -> 确定

SubLime

SubLime配置Go开发环境

安装Golang build 包

  1. 点击 Preferences > Package control 菜单(MAC快捷键 shift + command + p)
  2. 在弹出的输入框输入install 选择Package control:install package
  3. 然后输入Golang build 选择Golang build 安装

安装好之后点击 Preferences Preferences > Package Setting > Golang Config > Setting - User 设置一些参数

1
2
3
4
5
{
"PATH": "/usr/local/go/bin",
// 这里改成你自己的GOPATH
"GOPATH": "$HOME/Documents/Workspace/go"
}

安装GoSublime

  1. 点击 Preferences > Package control 菜单(MAC快捷键 shift + command + p)
  2. 在弹出的输入框输入install 选择Package control:install package
  3. 然后输入GoSublime 选择 GoSublime 安装

安装好之后点击 Preferences Preferences > Package Setting > GoSublime > Setting - Default

1
"use_gs_gopath": false

改为

1
"use_gs_gopath": true

Preferences -> package settings -> GoSublime -> Settings - Uesrs

1
2
3
4
5
6
{
"env": {
"GOPATH": "$HOME/Documents/Workspace/go",
"GOROOT": "/usr/local/Cellar/go/1.10.2/libexec"
}
}

【重启】Sublime。

使用GoSublime

点击 Toos > Build With (Mac 快捷键 shift + command + b)

1
2
3
4
$ go get
$ go install
$ go build
$ go clean

新建项目

1
2
3
4
5
6
7
8
9
10
11
12
$ cd $GOPATH/src
$ mkdir project1
$ touch main.go
##### 内容如下 #####
package main

import "fmt"

func main() {
fmt.Println("Hello, 世界")
}
##### 内容结束 #####

包管理

dep

dep介绍

dep是一个官方推出的原型依赖管理工具,需要在Go 1.7及更高的版本中使用。

安装

HomeBrew安装

1
2
$ brew install dep
$ brew upgrade dep

Binary Installation

1
$ curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh

Arch Linux

1
$ pacman -S dep

Go get方式安装

1
$ go get -u github.com/golang/dep/cmd/dep

Install From Source

1
2
3
4
5
6
$ go get -d -u github.com/golang/dep
$ cd $(go env GOPATH)/src/github.com/golang/dep
$ DEP_LATEST=$(git describe --abbrev=0 --tags)
$ git checkout $DEP_LATEST
$ go install -ldflags="-X main.version=$DEP_LATEST" ./cmd/dep
$ git checkout master

使用

验证安装

1
$ dep

初始化

1
2
$ cd $GOPATH/src/project
$ dep init

查看项目依赖

1
$ dep status

确保项目依赖安全

1
$ dep ensure

更新项目依赖

1
$ dep ensure -update

为了更好地看到过程,加上参数-v。

添加项目依赖

1
$ dep ensure -add github.com/pkg/errors

为了更好地看到过程,加上参数-v。

自动管理

1
$ dep prune

执行该命令后,会通过dep ensure来自动管理包依赖。

查看dep版本

1
$ dep version

常见问题

安装 delve

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 安装Xcode命令行工具
$ xcode-select --install

# 创建证书
## 打开钥匙串访问;
## 菜单栏中选择钥匙串访问-证书助理-创建证书开始创建自签名证书;
## 证书名称设置为dlv-cert(记住这个名字,后面会用到);身份类型选择自签名根证书;证书类型选择代码签名,最后在让我覆盖这些默认值处打上勾,选择继续;
## 在接下来的窗口中把有效期改长一些,例如改成10年(3650天);
## 然后一直往后,直到出现选择指定用于该证书的位置,选择钥匙串系统,然后选择创建;
## 这样证书就创建好了。

$ mkdir -p $GOPATH/src/github.com/derekparker
$ cd $GOPATH/src/github.com/derekparker
$ git clone https://github.com/derekparker/delve.git
$ cd delve
$ CERT=dlv-cert make install

参考

坚持原创技术分享,您的支持将鼓励我继续创作!
0%