go入门——项目搭建

时间:2020-07-14
本文章向大家介绍go入门——项目搭建,主要包括go入门——项目搭建使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、go环境搭建

 //进入下载目录
cd /home/dont/Download  
 //下载go语言包
wget https://dl.google.com/go/go1.14.3.linux-amd64.tar.gz  
//解压至root权限下usr/locat目录下
sudo tar xfz go1.14.3.linux-amd64.tar.gz -C /usr/local


//配置全局变量

sudo vi /etc/profile

export GOROOT=/usr/local/go    //设置为你自己的go安装目录

export GOPATH=/home/liyuan02/go    // 设置为自己的go项目的工作区间 ----- 使用go mod一般为空,安装godoc时需要设置一个路径

export PATH=$GOROOT/bin:$PATH    //原路径后用冒号连接新路径

//使配置立即生效
source /etc/profile

//验证成功
go version
go version go1.13.11 linux/amd64

二、使用GO Modules工具进行项目开发

1.目录设置

C:\Go    <<--- GOROOT 指向的位置

    --src                 <<--- Go 语言自带的源代码

    --pkg                 <<--- 编译的中间文件放在此文件夹

    --bin                 <<--- 编译的目标文件放在此文件夹

D:\MyWorks  <<--- GOPATH 指向的位置

    --src                 <<--- 项目源代码放置在此文件夹。!!!警告:一个常犯的错误是把 GOPATH 指向此处!!!

        --HelloWorld      <<--- 我们项目源代码所在的文件夹。!!!警告:一个常犯的错误是把 GOPATH 指向此处!!!

        --vendor          <<--- 第三方开源代码文件夹

            --github.com

                --...

    --pkg                 <<--- 编译的中间文件放在此文件夹,Go编译器自动生成此文件夹

    --bin                 <<--- 编译的目标文件放在此文件夹,Go编译器自动生成此文件夹

2.GO Modules配置

//设置变量参数
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

//查看变量设置情况
go env

GO111MODULE="on"
GOPROXY="https://goproxy.cn,direct"

3.GO Modules操作命令

//go mod操作命令

go get -u //更新现有的依赖

go mod tidy //整理模块(拉取缺少的模块,移除不用的模块)

go mod download//下载依赖包

go mod graph //打印现有依赖结构

go mod vendor //将依赖复制到vendor下

go mod verify //校验依赖

三、使用GO Modeles开发一个项目

1.目录结构

//创建一个Go的项目目录

sdsec_go                        //项目目录名称

    |---test                    //项目内的子目录

        |---hello_word.go       //Go文件

// 使用Go Modules后,项目目录

sdsec_go                        // 项目目录名称

    |---test                    //项目内的子目录

        |---hello_word.go       //Go文件

    |---vendor                  // Go扩展包的存放目录

        |---github.com          // Go扩展包的下载来源 --- 来自github.com网站

        |---golang.org          // Go扩展包的下载来源 --- 来自golang.org网站

            |---x

                |---sys         // Go扩展包 --- sys扩展包

    |---go.mod                  // Go Module,自动生成。在go.mod中被require的Go的扩展包,才会被自动下载到vendor目录中。

    |---go.sum                  // Go Module,自动生成。


// 执行命令的顺序

1、先进入项目目录。

2、执行go mod init xxx("xxx"自已定义,可以是项目名称,或是其它文字)。会自动生成go.mod文件。

3、对某个Go文件,进行go build。例如:go build test/hello_word.go(会将hello_word.go中import引入进来的扩展包的信息,自动写入go.mod)。
package main

import "fmt"

func main(){
        fmt.Println("hello,world")      
}

2.执行操作

//mod初始化 ----- 自动生成go.mod和go.sum文件。这两个文件中的内容,都是自动生成,不需要手工修改。
go mod init 项目目录

//整理模块(拉取缺少的模块,移除不用的模块) ----- 自动修改go.mod和go.sum文件中的内容。
go mod tidy

//将依赖复制到vendor目录下 ----- 自动创建vendor目录,并根据go.mod中Require的依赖列表,将依赖的组件包,复制到与go.mod同级的vendor目录中。
go mod vendor

//创建deploy目录用于存储生成的可执行文件
go build -o ./deploy/hell_word ./test/hello_world.go

//执行
./hello_world

原文地址:https://www.cnblogs.com/single-dont/p/13297394.html