0


golang-安装及一些基本操作

1. 环境安装与下载

参考官网即可

Get Started - The Go Programming Language

我用的是linux环境,先将linux armd的go压缩包下载下来(其它环境下载其它对应的安装包即可),然后执行

tar -C /usr/local -xzf go1.23.0.linux-amd64.tar.gz

然后配置PATH环境变量

export PATH=$PATH:/usr/local/go/bin

执行命令go version,显示如下版本信息,说明已经安装好

2. GOMODULE

go module是一个依赖管理工具,如果我们需要安装依赖包,则需要配置代理

go env -w GOPROXY=http://mirrors.aliyun.com/goproxy/ # 公共代理
go env -w GOPRIVATE=git.xxx.com # 私有代理,具体地址看个人配置

除此之外,还有一个关键的环境变量GO111MODULE,将这个环境变量设置成on后,go项目会从go.mod中寻找包的依赖,而忽略GOPATH这个环境变量的设置,这里我们开启这个环境变量(如果想使用早期的GOPATH,可以设置为off或者auto)

go env -w GO111MODULE=on

GOMODULE常用命令如下:

go mod init [module] # 初始化 go.mod
go mod tidy  # 更新依赖文件

go mod edit  # 手动修改依赖文件
go mod graph  # 打印依赖图
go mod verify  # 校验依赖

go get -v [module] # 安装包
go get -u [module] # 更新包

3. 代码目录结构

我们设置下GOPATH(不设置的话就用的是默认值)

go env -w GOPATH='/home/kali/go'

GOPATH下主要有两个目录,一个是pkg(存放下载的包信息),一个是bin(go install后二进制文件会在这里)

我们的项目源码可以不在这个目录下,但是为了方便,我们在GOPATH里面新建一个src表示项目源码,然后新建一个目录myapp,项目代码都放在这里,一般我们的做法就是一个目录一个项目,例如: /home/kali/go/src/myapp就表示myapp这个项目的代码

当然,这里也运行多级目录,比如例如在myapp下面新建了目录mypkg那么这个包路径就是"myapp/mypkg",包名称是最后一个目录mypkg

这里简单举个例子,在myapp下新建一个目录mypkg,然后进入到该目录,进入后新建文件add.go

在add.go中新增如下代码:一个很简单的函数,计算两个整数之间的和

package mypkg

func Add(x int, y int) int {
     return x + y
}

然后在myapp的目录下新建一个main目录,里面放我们的主程序main.go,并在main.go里面引用我们的包

package main

import (
        "myapp/mypkg"
        "fmt"
)

func main() {
        fmt.Printf("Hello, world.  add(2,3) = %v\n", mypkg.Add(2, 3))
}

这样我们的代码目录结构如下所示:

4. 编译

上面我们已经建立了自己的应用包,如何进行编译安装呢?进入myapp目录,执行

go mod init myapp

这样就会生成一个go.mod文件,在开启GO111MODULE的情况下,所有包都通过这个go.mod来管理,生成后进入到main目录,执行

go build main.go

会在当前目录生成一个main的二进制文件,执行该文件

或者直接go run main.go也执行同样的效果

5. 下载依赖包

我们通过go get命令下载组件,比如我们想下载github.com/sirupsen/logrus这个依赖

go get -u github.com/sirupsen/logrus

这个包会下载到GOPATH下的pkg目录中

6. 安装

编译完成后,执行go install命令即可安装,此时会将二进制文件放到GOPATH下的bin目录中,我们进入该目录,直接执行即可

此时,GOPATH目录的整个结构如下(这里为了展示方便将src放在GOPATH下,实际上src可以放在任意目录),我们可以很清晰的看到,bin目录下面存的是编译之后可执行的文件,pkg下面存放的是依赖包,src下面保存的是应用源代码。

标签: linux 服务器 golang

本文转载自: https://blog.csdn.net/wuh2333/article/details/141300366
版权归原作者 wuh2333 所有, 如有侵权,请联系我们删除。

“golang-安装及一些基本操作”的评论:

还没有评论