1 安装 VSCode 编辑器
安装密钥
$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
安装储存库
$ sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
2 安装 golang
2.1 安装
使用系统包管理工具安装 golang
$ sudo yum install golang
查看安装目录
$ rpm -ql golang |more
测试安装
$ go version
2.2 设置环境变量
1、创建工作空间
Go代码必须放在工作空间内,即为一个目录,包含三个子目录:
- src 目录包含Go的源文件,它们被组织成包(每个目录都对应一个包),
- pkg 目录包含包对象,
- bin 目录包含可执行命令。
go 工具用于构建源码包,并将其生成的二进制文件安装到 pkg 和 bin 目录中。
src 子目录通常包会含多种版本控制的代码仓库(例如Git或Mercurial), 以此来跟踪一个或多个源码包的开发。
$ mkdir $HOME/gowork
~/.profile
export GOPATH=$HOME/gowork
export PATH=$PATH:$GOPATH/bin
然后执行这些配置
$ source $HOME/.profile
3、检查配置
$ go env
...
GOPATH = ...
...
GOROOT = ...
...
3 安装必要的工具和插件
3.1 安装 Git 客户端
go 语言的插件主要在 Github 上,安装 git 客户端是首要工作。
$ sudo yum install git
3.2 安装 go 的一些工具
进入 vscode ,它提示要进行一些安装工作,按提示安装
failed to install
仔细检查,发现无法连接 golang.org ,导致安装失败。
1、下载源代码到本地
# 创建文件夹
$ mkdir $GOPATH/src/golang.org/x/
# 下载源码
$ go get -d github.com/golang/tools
# copy
$ cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf
2、安装工具包
$ go install golang.org/x/tools/go/buildutil
退出 vscode,再进入,按提示安装,即可安装成功。
4 安装与运行 go tour
《Go 语言之旅》是官方 Go Tour 的中文翻译版。
要从源码安装教程,首先设置一个工作空间并执行,这会在你工作空间的 bin 目录中创建一个 gotour 可执行文件。
$ go get -u github.com/Go-zh/tour/gotour
执行即可,gotour 即可以通过浏览器打开。
$ gotour
5 如何使用 Go 编程
5.1 第一个 Go 程序:hellogo
1、首先要选择包路径,并在你的工作空间内创建相应的包目录,其中 user 要改成你自己的用户名:
$ mkdir $GOPATH/src/github.com/user/hello
hellogo.go
package main
import "fmt"
func main() {
fmt.Printf("Hello, Go!\n")
}
3、现在可以用 go 工具构建并安装此程序了:
$ go install github.com/user/hellogo
$GOPATH/bin/hellogo$HOME/go/bin/hellogo
$ hellogo
Hello, Go.
5.2 编写一个库
github.com/user/stringutil
$ mkdir GOPATH/src/github.com/user/stringutil
reverse.go
// stringutil 包含有用于处理字符串的工具函数。
package stringutil
// Reverse 将其实参字符串以符文为单位左右反转。
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < len(r)/2; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
go build
$ go build github.com/user/stringutil
go install
$ go install github.com/user/stringutil
hellogo.go$GOPATH/src/github.com/user/hellogo
package main
import (
"fmt"
"github.com/user/stringutil"
)
func main() {
fmt.Printf(stringutil.Reverse("\n!oG ,olleH"))
}
go installhellogostringutil
$ go install github.com/user/hellogo
6、运行此程序的新版本,你应该能看到一条新的,反向的信息:
$ hellogo
Hello, Go!
5.3 测试
$GOPATH/src/github.com/user/stringutil/reverse_test.gostringutil
package stringutil
import "testing"
func TestReverse(t *testing.T) {
cases := []struct {
in, want string
}{
{"Hello, world", "dlrow ,olleH"},
{"Hello, 世界", "界世 ,olleH"},
{"", ""},
}
for _, c := range cases {
got := Reverse(c.in)
if got != c.want {
t.Errorf("Reverse(%q) == %q, want %q", c.in, got, c.want)
}
}
}
go test
$ go test github.com/user/stringutil
ok github.com/user/stringutil 0.004s
6 创建 git 本地仓库并绑定 Github 远程仓库
$GOPATH/src/github.com/user/hellogo
$ git init
hellogo
$ git remote add origin https://https://github.com/user/hellogo
git addgit commit
$ git add hellogo.go
$ git commit -m "Hello,Go!"
git push
$ git push -u origin master
-umastermastermastermastergit pushmaster