windows版本go安装教程网上很多,这里就不复制黏贴了

这里说下linux怎么安装    我的环境 Centos 7.6

#方便查看目录结构,装个tree
wget -O/etc/yum.repos.d/aliyun-yilai.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum -y install tree


#拉取go 软件包 (1.17 目前是比较新的版本)
wget https://dl.google.com/go/go1.17.linux-amd64.tar.gz


#解压缩
tar -C /usr/local -xzf go1.17.linux-amd64.tar.gz

#切换到工作目录
cd /usr/local/go

添加代理和环境变量

cat >> ~/.bashrc <<EOF
#设置go环境变量
export GOROOT=/usr/local/go
export GOPATH=\$HOME/go
export PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin
#添加go代理
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct
export GOPRIVATE=git.mycompany.com,github.com/my/private
EOF
#重载
source ~/.bashrc

查看版本

go version


#返回
go version go1.17 linux/amd64

创建目录

#创建环境所需目录
mkdir ~/go/{src,bin,pkg} -p


#创建项目目录(项目名称test)
mkdir ~/go/src/test


#在项目目录下创建包目录(多个包之间是通过包名.函数名 调用的)
mkdir ~/go/src/test/main

查看目录结构

[root@localhost ~]# tree ~/go
/root/go
├── bin
├── pkg
└── src
└── test
└── main



#在上面我们设置了 用户家目录(~) 下的go目录为工作目录
#我们工作目录结构如下
1、bin/ #编译好的二进制执行文件存放目录
2、pkg/ #各种依赖存放目录
3、src/ #项目源代码存放目录
|--项目目录 #以项目名称命名的目录
|--包目录

创建测试项目

#切换到main包目录 (main 相当于整个程序的入口)
cd ~/go/src/test/main

编写主体程序

vi main.go

package main

import "fmt"

func main() {
fmt.Println("Hello world")
}

运行前准备

#切换到项目目录
cd ~/go/src/test

#初始化项目目录 创建go.mod文件
go mod init test


#查看并下载项目源代码中依赖的包
go mod tidy


#将go依赖模块添加到vendor目录
go mod vendor

两种运行方法

1、直接运行

cd ~/go/src/test/main/

#执行
go run main.go


#返回
Hello world

2、build为执行文件后运行

#构建打包
go build main.go


#执行
./main

#返回
Hello world

说明

和其他静态类型语言一样,需要执行go程序需要先编译
然后生成可执行的文件,go build命令就是来编译生成可执行文件的

但不是所有的go程序都可以编译为执行文件,需要满足两个条件:

1. go程序需要属于main包
2. 在main包中必须还包含main函数

也就是说go程序的入口就是 main.main, 即main包下的main函数

常用命令行操作

#命令行使用格式
go command [args]

1、clean 清除构建的执行文件

#清除上面build编译生成的可执行程序
go clean      #不添加参数,会删除当前目录下的所有执行文件
go clean main.go  #删除指定代码的执行文件

2. get   第三方包下载

#从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装,
#例如我们想使用 beego 来开发web应用,我们首先就需要获取 beego:
go get github.com/astaxie/beego

项目中导入包

package main

import "github.com/astaxie/beego" #添加

func main() {
beego.Run()
}

3. install  编译执行文件

install 和build类似 都会进行打包编译的操作,不同之处在于,

build是将打包的文件放在当前目录,而install会将执行文件放在工作目录下的bin目录下

build可以通过-o定义打包文件的名称,而install打包的文件必定是源代码所在目录的名称

并且 install会把相关的依赖放到工作目录下的pkg目录下

#编译打包
go install ~/go/src/test/main/main.go

#查看编译的文件
[root@localhost main]# ls ~/go/bin/
main

 其他操作小结

bug      #启动错误报告
build #编译包和依赖
clean #移除对象文件
doc #显示包或者符号的文档
env #打印go的环境信息
fix #运行go tool fix
fmt #运行gofmt进行格式化
generate #从processing source生成go文件
get #下载并安装包和依赖

install #编译并安装包和依赖
list #列出包
mod module maintenance
run #编译并运行go程序
test #运行测试
tool #运行go提供的工具
version #显示go的版本
vet #运行go tool vet

[点击并拖拽以移动]