服务计算-安装 Golang 开发环境

实验:安装 Golang 开发环境

【实验环境】

  Ubuntu 18.04.4

【实验内容】

  安装 go 语言开发环境

【实验过程】

  1. 实验环境搭建
      本实验在 VirtualBox 中创建操作系统为 Ubuntu 18.04.4 的虚拟机作为后续实验的环境。其中,镜像下载可转至清华大学开源软件镜像站

  2. 安装 VSCode
      参见在linux系统中安装VSCode(Visual Studio Code)

  3. 安装 golang
      访问 Go官方镜像站下载 Linux 版本的golang。
      

# 这一步需要切换为超级用户进行
# tar xzvf 下载路径/go1.15.1.linux-amd64.tar.gz -C 指定解压路径
sudo tar xzvf /home/sherry/Downloads/go1.15.1.linux-amd64.tar.gz -C /usr/local
  • 创建工作空间:
mkdir $HOME/gowork
  • 打开 $HOME/.profile 文件,在结尾添加以下两行:
export GOPATH=$HOME/gowork
export PATH=$PATH:$GOPATH/bin
  • 使环境变量设置生效:
source $HOME/.profile
  • 在命令行窗口输入 “go env” 检查配置:
      
  1. 编写第一个 go 程序
  • 创建源代码目录
# mkdir $GOPATH/src/github.com/user_name/hello -p
mkdir $GOPATH/src/github.com/sherryjw/hello -p
  • 创建并编写hello.go:
package main

import "fmt"

func main() {
    
    
    fmt.Printf("hello, world\n")
}
  • 运行:
      
  1. 安装必要的工具和插件
  • 安装 Git 客户端
sudo apt-get install git
  • 检查 git 安装情况,可通过查看 git 版本:
      

  • 安装 go 的相关工具

  由于无法直接访问 golang.org,因此需要通过使用 github 上的镜像来安装,步骤如下:

  ①. 下载源代码到本地:
  注:该步骤若按照课程主页进行可能出错。

mkdir $GOPATH/src/golang.org/x -p
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/tools.git

  ②. 安装工具包:

go install $GOPATH/src/golang.org/x/tools/go/buildutil

  ③. 退出 VSCode 再进入,按提示安装;在 VSCode 中运行 hello.go:
  

  ④. 查看 go 当前工作空间的目录结构,应该和官方文档如何使用Go编程的工作空间一致:
  

  ⑤. 安装运行 hello world:

go install github.com/github-user/hello
hello

  

  1. 安装与运行 go tour

  注:该步骤若按照课程主页进行可能出错。
  设置代理:

go env -w GO111MODULE=on
go env -w  GOPROXY=https://goproxy.cn,direct

  获取 https://tour.golang.org/ 的离线版本:

go get golang.org/x/tour

  此时获取的 tour 包被放在 $GOPATH/pkg/mod/golang.org/x 目录下,需要将其转移到 $GOPATH/src/golang.org/x 目录下,并更名为 tour:

cp $GOPATH/pkg/mod/golang.org/x/[email protected] $GOPATH/src/golang.org/x/tour -rf

  运行:

tour

  控制台自动打开浏览器:
  
  
  现在可以离线访问 Go Tour 了!

  1. 创建第一个自定义的包
  • 创建包目录:
mkdir $GOPATH/src/github.com/user/stringutil
  • 在该目录中创建名为 reverse.go 的文件,内容如下:
      

  • 用 go build 命令来测试该包的编译:

go build github.com/user/stringutil
  • 确认 stringutil 包构建完毕后,修改原来的 hello.go 文件,引用自定义的包:
      

  • 安装 hello 程序,此时 stringutil 包也会被自动安装:

go install github.com/user/hello
  • 运行:
      
    可以看到自定义的包的实现达到预期效果。
  1. 第一次测试

  可以通过创建文件 $GOPATH/src/github.com/user/stringutil/reverse_test.go 来为 stringutil 添加测试,其内容如下:

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 语言开发的环境和简单的入门使用,其中遇到的问题有:


【参考资料】

  golang安装指南(中文版)
  从零开始搭建Go语言开发环境
  一键解决 go get golang.org/x 包失败
  服务计算-CentOS下安装Go开发环境遇到的一些问题

猜你喜欢

转载自blog.csdn.net/weixin_43864929/article/details/108701219