ubuntu下安装go语言开发环境

   日期:2020-09-21     浏览:99    评论:0    
核心提示:ubuntu下安装go语言开发环境环境安装golang创建工作空间创建工作空间配置GOPATH环境变量创建包路径创建Hello World!安装必要工具和插件安装git下载源码安装工具包安装go tour我的第一个包与测试你的第一个库测试问题小结环境VirtualBoxUbuntu 18.04安装golang使用系统包管理工具安装golang,这样的好处是即使不是最新版本,也不影响正常使用$ sudo apt-get install golang安装完成后使用go version命令查看版本

ubuntu下安装go语言开发环境

  • 环境
  • 安装golang
  • 创建工作空间
    • 创建工作空间
    • 配置GOPATH环境变量
    • 创建包路径
  • 创建Hello World!
  • 安装必要工具和插件
    • 安装git
    • 下载源码
    • 安装工具包
    • 安装go tour
  • 我的第一个包与测试
    • 你的第一个库
    • 测试
  • 问题小结

环境

VirtualBox
Ubuntu 18.04

安装golang

使用系统包管理工具安装golang,这样的好处是即使不是最新版本,也不影响正常使用

$ sudo apt-get install golang

安装完成后使用go version命令查看版本

$ go version

创建工作空间

创建工作空间

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

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

使用mkdir命令创建工作空间

$ mkdir $HOME/go

配置GOPATH环境变量

GOPATH环境变量指明了你工作空间的位置(注意这个位置不能与你go安装目录相同)

$ export GOPATH=$HOME/go

将此工作空间的 bin 子目录添加到你的 PATH 中

$ export PATH=$PATH:$GOPATH/bin

然后执行配置

$ source $HOME/.profile

配置成功后可以用 go env检查配置

$ go env

创建包路径

在工作空间里创建一个文件夹来存放你的源文件

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

创建Hello World!

先选择包路径,然后在对应文件夹里创建文件

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

在hello目录中创建hello.go的文件
hello.go

package main

import "fmt"

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

然后进入hello目录运行文件

$ go run hello.go

安装必要工具和插件

安装git

$ sudo apt-get install git

下载源码

# 创建文件夹(该命令要加-p,因为文件目录还不存在)
$ mkdir -p $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

安装工具包

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

安装并运行hello程序

$ go install github.com/user/hello

这条命令会创建一个名为hello的可执行二进制文件,并安装到工作空间的bin文件下,并且会构建一条hello命令

注意:当你更改你的文件后必须重新构建你的程序,否则可执行二进制还是之前的文件,文件执行结果不会改变

安装go tour

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

我的第一个包与测试

你的第一个库

编写一个属于你自己的库,并让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

修改之前的hello程序,使用刚才建立的库

package main

import (
	"fmt"

	"github.com/user/stringutil"
)

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

用go install重新安装hello文件

$ go install github.com/user/hello

测试

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 test github.com/user/stringutil

问题小结

1.在创建工作空间和目录文件时注意路径的正确性,如果创建文件时路径不存在要加上-p参数
2.每次修改程序时要重新go install后,构建的临时指令才会更新,否则仍然运行之前的可执行文件

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

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

13520258486

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

24小时在线客服