服务计算实验二:Go环境搭建与Git的使用

实验介绍

本实验主要介绍在centos7下搭建Go的开发环境,并介绍了用go工具来获取、 构建并安装Go包及命令的标准方式。同时简要介绍如何使用git来进行开发管理。

Go环境搭建并测试

1. 安装golang

在centos终端中直接使用yum包管理器安装,其他下载方法参考go官方网站

sudo yum install golang
go version

版本号显示正常就安装成功了。
1

2. 工作空间创建与环境变量设置

创建一个Go的工作目录
mkdir $HOME/gowork
配置的环境变量,centos 中在$HOME目录下的配置文件 .bash_profile中添加环境变量 (对当前用户始终生效)

打开配置文件
sudo vi $HOME/.bash_profile
插入以下语句
export GOPATH=$HOME/gowork
export PATH=$PATH:$GOPATH/bin
保存并激活文件
source $HOME/.bash_profile

3.编写Go程序

在写Go程序之前,我们需要简单了解些Go的工作空间,详细参考工作空间

总的来说工作空间是一个存放管理Go代码的目录,其中包含三个子目录:
src 目录包含Go的源文件,每个目录都代表了一个源码包
pkg 目录包含包对象,存放编译后的包和依赖包
bin 目录包含可执行命令,存放可执行对象。
go 工具用于构建源码包,并将其生成的二进制文件安装到 pkg 和 bin 目录中。
src 子目录通常包会含多种版本控制的代码仓库(例如Git或Mercurial), 以此来跟踪一个或多个源码包的开发。

创建基于github的源代码仓库,[github-user]根据你的github用户名填写

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

在以上目录创建hello.go

package main

import "fmt"

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

临时测试运行

$ go run hello.go

2
开发完成后可使用install命令安装运行

go install github.com/[github-user]/Go/
hello#运行

4. 安装Go工具和教程软件

以下命令表示在src中创建工具包的目录,下载源码,独立工具包源码,安装工具包。

mkdir $GOPATH/src/golang.org/x/
go get -d github.com/golang/tools
cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf
go install golang.org/x/tools/go/buildutil

安装gotour教程软件
go中的get命令自动下载并编译安装gotour项目,结果会直接生成可执行文件在bin目录中,由于之前配置过bin目录作为环境变量,直接输入gotour即可运行

go get github.com/Go-zh/tour/gotour
gotour #运行

5.创建一个库包

建立库目录

mkdir $GOPATH/src/github.com/[github-user]/Go/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]/Go/stringutil
或者直接在该包的源码目录中执行:
$ go build

没有错误提示即编译正确
修改之前创建的hello.go文件

package main

import (
	"fmt"

	"github.com/[github-user]/Go/stringutil"
)

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

当我们重新安装hello.go,go 工具都会安装它所依赖的任何东西,即同时安装stringutil.go。

$ go install github.com/[github-user]/Go/hello

运行得到结果“hello,go!”.
更多信息见Go编程

6.测试

Go拥有一个轻量级的测试框架,它由 go test 命令和 testing 包构成。
在$GOPATH/src/github.com/[github-user]/Go/stringutil/目录下创建测试文件reverse_test.go(注意测试文件名必须以_test.go结尾)

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]/Go/stringutil
或者直接在该包的源码目录中执行:
$ go test

输出

ok github.com/[github-user]/Go/stringutil 0.002s

Git的使用

GitHub 是一个十分流行的面向开源及私有软件项目的托管平台。作为开源代码库以及版本控制系统,GitHub拥有众多开发者用户,GitHub是程序员管理软件开发以及寻找已有代码的首选平台,值得我们学习使用。

1. 安装Git并配置

安装命令

yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
yum install git
git --version 

配置信息

git config --global user.name [username]
git config --global user.email [email]
git config --list #查看配置信息

2.创建仓库

首先在github上注册账号并创建仓库,可以选择裸仓库或者初始化一个readme文档。
3

以下命令在上述本地Go目录中初始化本地仓库,绑定github账户上的远程仓库为origin,并拉取远程仓库的master分支到本地master分支,添加当前所有文件,进行第一次提交,最后推送到远程仓库。

git init
git remote add origin https://github.com/[github-user]/Go
git pull origin master:master
git add .
git commit -m "test-commit"
git push -u origin master

注意:请使用 https 协议操作远程仓库, 不要使用 git 协议。 请在使用网络资源时务必注意!
执行完我们可以在浏览器上看到远程仓库已经更新
在这里插入图片描述
Git使用帮助文档

猜你喜欢

转载自blog.csdn.net/m0_37779608/article/details/82874329
今日推荐