第七章:包管理

本文详细介绍了Go语言的包管理,包括GOPATH的设置、依赖包查找、GO111MODULE环境变量的作用,以及GOBIN的配置。还讨论了包的声明、导入,特别是远程包和匿名导入的用法。此外,文章还提到了main包的特点和初始化过程,以及Go包加载和依赖包管理的策略,最后简要介绍了Go的标准包管理。
摘要由CSDN通过智能技术生成

Go语言包的主要作用就是把功能相似或相关的代码组织在同一个包中。

GOPATH:

Go所有的操作(编码,依赖管理,构建,测试和安装)基本上都是围绕GOPATH进行的,实际开发环境中,需要把所需工程的根目录放到GOPATH中,否则即使处于同一工作区的代码之间也无法通过绝对路径完成调用。换句话说,没有设置GOPATH,程序无法调用。

Linux设置GOPATH:

查看GOPATH环境变量:echo $GOAPTH
设置GOPATH环境变量:
1、修改配置文件/etc/profile 向该文件末尾添加
export GOPATH=$GOPATH:/home/NewProject
2、source命令重新执行刚修改的初始化文件
source /ect/profile

查找依赖包

如果GOPATH设置了多个工作区,在查找依赖包的时候先查找GOROOT目录的src,然后按设置中GOPATH工作区的先后顺序进行查找。

GO111MODULE是一个环境变量,用于改变go引入包的方式

GO111MODULE=on,这个设置会强迫使用Go modules,go get下载的文件会在工作目录的/pkg/mod下面
GO111MOUDLE=off,使用GOPATH的方式,go get下载的文件会在环境变量对应的/src目录下面
GO111MODULE=auto,默认设置。有go.mod,相当于GO111MODULE=on,没有相当于GO111MODULE=off

GOROOT的目的就是告诉Go当前的安装位置,编译的时候从GOROOT去找SDK的system library
GOBIN:若环境变量GOPATH中包含多个工作区的目录路径,执行go install就会失效,必须设置环境变量GOBIN

包的声明:

包中成员以首字母大小写决定访问权限
首字母大写,可以被包外访问,首字母小写,仅包内成员访问

包的导入:

标准包会在go语言的安装位置下的src目录中找到
其他包需要在GOPATH环境变量中的目录下寻找。

远程导入包:go get 命令下载远程包
匿名导入包:目的是为了调用该包的init函数

在Go语言中,如果导入了一个包而不使用,编译会报错,可以引入匿名导入,以下划线_重新命名该包。

import _"fmt"         //匿名导入

例如当我们分析一个web应用程序的性能时,导入net/http/pprof

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值