安装Golang开发环境

系统硬件与操作系统

系统硬件:
CPU: Intel Core i5-8300H
机带RAM: 8G
显卡: GTX 1050Ti
操作系统:
windows下用VMware15运行Ubuntu18.04

安装VScode编辑器

Visual Studio Code 是一个轻量级但功能强大的源代码编辑器,可在 Windows,macOS 和 Linux 桌面上运行。它内置了对JavaScript,TypeScript和Node.js的支持,并为其他语言(如C ++,C#,Java,Python,PHP,Go)和运行时(如.NET和Unity)提供了丰富的扩展生态系统。在ubuntu下可以直接去官网下载:
在这里插入图片描述
在VScode的插件商店中安装中文插件(有很多功能强大的插件,一定要活用插件商店)
在这里插入图片描述

安装Golang

sudo apt-get install golang

在这里插入图片描述
查看版本

go version

在这里插入图片描述

设置环境变量

1. 创建工作空间

 mkdir $HOME/gowork

2. 配置环境变量

vim ~/.profile

在~/.profile文件中添加以下两行:

export GOPATH=$HOME/gowork
export PATH=$PATH:$GOPATH/bin

如下图所示:
在这里插入图片描述

然后执行这些配置

source $HOME/.profile

3. 检查配置

go env

在这里插入图片描述

创建hello, world

创建源代码目录(-p按目录层级自动创建目录)

mkdir $GOPATH/src/github.com/github-user/hello -p

在VScode中创建hello.go

package main

import "fmt"

func main() {
    fmt.Printf("hello, world\n")
}

在终端运行

go run hello.go

在这里插入图片描述

安装必要的插件

1. 安装git客户端

sudo apt-get install git

2. 安装go的一些工具
进入 vscode ,它提示要安装一些扩展,但golang.org 只有通过科学上网才能连上,于是全部failed to install。这里用其他方法:
首先创建文件夹

mkdir $GOPATH/src/golang.org/x/ -p

由于golang.org/x所有包都在GitHub有镜像,所以我们手动clone

git clone https://github.com/golang/tools $GOPATH/src/golang.org/x/tools

在这里插入图片描述

安装工具包

go install golang.org/x/tools/go/buildutil

退出VScode,根据提示进行扩展安装,但是因为如前所述的原因,部分扩展依然无法安装,这里暂未解决。

安装运行hello world
在这里插入图片描述

安装与运行go tour

在这里插入图片描述
同样由于科学上网的原因,这一步似乎也有问题…

我的第一个包与测试

1. 我的第一个库
让我们编写一个库,并让 hello 程序来使用它。同样,第一步还是选择包路径

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 命令,它会将包的对象放到工作空间的 pkg 目录中。确认 stringutil 包构建完毕后,修改原来的 hello.go 文件去使用它:

package main

import (
	"fmt"

	"github.com/user/stringutil"
)

func main() {
	fmt.Printf(stringutil.Reverse("!oG ,olleH"))
}

无论是安装包还是二进制文件,go 工具都会安装它所依赖的任何东西。 因此当我们通过

go install github.com/github-user/hello

来安装hello程序时,stringutil包也会自动被安装。
运行此程序的新版本,得到输出:
在这里插入图片描述
2. 测试
Go拥有一个轻量级的测试框架,它由 go test 命令和 testing 包构成。

你可以通过创建一个名字以 _test.go 结尾的,包含名为 TestXXX 且签名为 func (t *testing.T) 函数的文件来编写测试。 测试框架会运行每一个这样的函数;若该函数调用了像 t.Error 或 t.Fail 这样表示失败的函数,此测试即表示失败。

我们可通过创建文件 $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 help test 或从 testing 包文档 中查看。

小结

总的来说安装过程并不复杂,主要碰到的问题是golang.org需要科学上网的帮助,一些扩展没法安装。本人对go语言的工作空间的理解还是处于一知半解的状态,希望在真正开始对go语言的学习后,可以加深一些理解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值