Ubuntu安装go语言开发环境

   日期:2020-09-21     浏览:120    评论:0    
核心提示:Ubuntu下Go语言开发环境的安装环境步骤一 安装步骤二 创建工作空间步骤三 设置环境变量创建Hello world!安装必要的插件安装Git安装 go 的一些工具功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入环境VMwar

Ubuntu下Go语言开发环境的安装

    • 环境
    • 步骤一 安装
    • 步骤二 创建工作空间
    • 步骤三 设置环境变量
    • 创建Hello world!
    • 安装必要的插件
      • 安装Git
      • 安装 go 的一些工具
        • 下载源代码到本地
        • 安装工具包
        • 安装与运行hello world
      • 安装与运行go tour
      • 我的第一个包与测试
        • 测试
      • 问题小结
      • 相关链接

环境

VMware 15.0
Ubuntu 18.04

步骤一 安装

使用系统包管理工具安装,这里可能会出现一些异常情况,按照系统提示来就好了。

sudo apt-get install golang

测试安装是否成功并查看版本

go version

步骤二 创建工作空间

Go代码必须放在工作空间内。它其实就是一个目录,其中包含三个子目录:

  1. src 目录包含Go的源文件,它们被组织成包(每个目录都对应一个包)
  2. pkg 目录包含包对象
  3. bin 目录包含可执行命令

因此,我们需要创建一个工作空间目录,并为其设置相应的 GOPATH。工作空间可以放在任何地方,这里将其放置在了home目录下。

kangze@kangze:/$ mkdir $HOME/kangze/gopath

接下来,在这目录下建立三个子目录src pkg bin

mkdir src pkg bin

步骤三 设置环境变量

export GOPATH=$HOME/kangze/gopath
export PATH=$PATH:$GOPATH/bin

执行该配置:

source ~/.bashrc

检查配置

$ go env


可以看到,现在GOPATH已经被修改。

创建Hello world!

创建好工作空间并且设置完环境变量后,按照惯例,学习一门语言,通常都由Hello World开始。为了,完成这一具有划时代意义的工作,我们先创建一个源代码目录。

$ mkdir $GOPATH/src/gihub.com/gitee-user/hello -p

使用vscode创建hello.go(vscode可以在Ubuntu的应用中心中下载)

在源代码目录下创建一个hello.go的文件,在里面编写如下代码。

package main

import "fmt"

func main() { 
    fmt.Printf("Hello World!\n")
}

运行:

$ go run hello.go

安装必要的插件

安装Git

sudo apt-get install git

安装 go 的一些工具

参考链接https://github.com/northbright/Notes/blob/master/Golang/china/get-golang-packages-on-golang-org-in-china.md.

下载源代码到本地

由于目前在中国网络环境下无法访问Golang.org,所以不同通过运行

go get golang.org/x/tools/...

来获取Golang packages。
因此,可以使用github上的镜像来获取代码。先在GOPATH目录下创建一个子目录

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

下载源码

go get -d github.com/golang/tools

将tools移动到第一步创建的目录下

cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf

安装工具包

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

关闭vscode,重新打开,按照提示安装。

安装与运行hello world

执行如下命令

go install github.com/github-user/hello

该命令会产生一个二进制文件并将该二进制文件安装到bin目录下,输入hello即可运行。

安装与运行go tour

参考https://github.com/Go-zh/tour.

go get github.com/Go-zh/tour/gotour
gotour

运行结果如下:

我的第一个包与测试

要编写一个库,并用程序来使用它。首先选择包路径并创建包目录:

mkdir $GOPATH/src/github.com/github-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/github-user/stringutil


确认 stringutil 包构建完毕后,修改原来的 hello.go 文件(它位于 $GOPATH/src/github.com/github-user/hello)去使用它:

package main

import (
	"fmt"

	"github.com/github-user/stringutil"
)

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

通过

go install github.com/github-user/hello

来安装stringutil包。
运行此程序的新版本。

hello

测试

Go拥有一个轻量级的测试框架,它由 go test 命令和 testing 包构成。

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

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

问题小结

在刚开始做的时候,在创建工作空间,由于配置环境变量的时候少写了一个路径。

(错误)export GOPATH=$home/gopath
(正确)export GOPATH=$home/kangze/gopath

导致后续操作失败。

相关链接

https://go-zh.org/doc/code.html.

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服