服务计算实验二:安装go语言开发环境

github传送门

写在前面

本来是想在centOS上装GO语言环境的,但是由于在安装vscode时yum的报错找不到解决办法转向windows了

$ yum check-update
$ sudo yum install code

执行第一句就弹出下面的报告
在这里插入图片描述

Cannot find a valid baseurl for repo: code

在CSDN跟stack overflow都找过办法还是没有解决

windows下配置安装GO开发环境

  • 下载安装
    windows下十分方便,只要去go语言中文网下载windows版本的Go安装包安装即可。
    在这里插入图片描述
  • 设置环境变量
    将安装目录的bin文件夹路径复制到Path环境变量里
    在这里插入图片描述
    根据官方文档需要建立一个工作空间,将路径添加到GOPATH里,并创建三个文件夹
    在这里插入图片描述

在这里插入图片描述

  • src 目录包含 Go 的源文件
  • pkg 目录包含包对象
  • bin 目录包含可执行命令
    详见官方文档

另外将GO安装目录添加到环境变量GOROOT
在这里插入图片描述
系统变量有的话要修改系统变量那里的变量值。

安装VScode

  • 下载安装
    Visual Studio Code 安装包下载
    安装后记得设置一下环境变量(同样将bin文件夹的目录添加到Path环境变量里)
  • 扩展安装
    在这里插入图片描述
  • 如果需要可以安装插件(cmd)
go get -u -v github.com/nsf/gocode
go get -u -v github.com/uudashr/gopkgs/cmd/gopkgs
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/alecthomas/gometalinter
go get -u -v github.com/haya14busa/goplay/cmd/goplay
go get -u -v github.com/tylerb/gotype-live
go get -u -v github.com/davidrjenni/reftools/cmd/fillstruct
go get -u -v github.com/sourcegraph/go-langserver
go get -u -v github.com/fatih/gomodifytags
go get -u -v github.com/ramya-rao-a/go-outline
go get -u -v github.com/acroca/go-symbols
go get -u -v golang.org/x/tools/cmd/guru
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v golang.org/x/tools/cmd/godoc
go get -u -v github.com/zmb3/gogetdoc
go get -u -v golang.org/x/tools/cmd/goimports
go get -u -v github.com/golang/lint/golint
go get -u -v github.com/sqs/goreturns
go get -u -v github.com/josharian/impl
go get -u -v sourcegraph.com/sqs/goreturns
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
go get -u -v github.com/cweill/gotests/...
go get -u -v honnef.co/go/tools/...

第一个Go程序

我直接打开工作空间(E:\gojob文件夹)
在这里插入图片描述
代码如下

package main

import "fmt"

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

保存后在VSCode的控制台运行

  • go run
    在这里插入图片描述
  • go build
go build .\src\github.com\chenjb58\hello.go

结果在当前路径下生成hello.exe文件
在这里插入图片描述

  • go install
go install hello.go

结果在bin文件夹下生成了hello.exe
在这里插入图片描述

  • 选择包路径(我们将使用 github.com/chenjb58/stringutil) 并创建包目录,在该目录中创建名为 reverse.go 的文件,内容如下:

    在这个目录下 go build(这不会产生输出文件)

  • 修改原来的 hello.go 文件

package main

import (
	"fmt"

	"github.com/chenjb58/stringutil"
)

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

然后执行

go install .\src\github.com\chenjb58\hello

可以看到pkg文件夹多出了一些文件
在这里插入图片描述
安装 hello 程序时,stringutil 包也会被自动安装。

测试

通过创建文件 $GOPATH/src/github.com/chenjb58/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 test  src/github.com/chenjb58/stringutil

结果如下:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值