• 周五. 3月 1st, 2024

    GO语言笔记: 二、GOPATH

    root

    1月 23, 2021

    GOPATH是GO语言使用的一个环境变量,它指定了Go语言的工作区。在Go语言安装的时候安装程序会指定GOAPTH一个默认的目录,我们删除默认设置,设置为自己指定的工作目录。

    可以理解为我们的所有开发代码,引入的第三方包全部放到工作区的目录中。

    工作区目录一般包含3个子目录: src、pkg、bin

    1. src目录:用于以代码包的形式组织并保存Go语言源码文件。例如:一个源码文件被声明为属于代码包logging,那么它就应当被保存在src目录下名为logging的子目录中。
    2. pkg目录:用于存放经由go install命令构建安装后的代码包(包含Go库源码文件)的”.a”归档文件。该目录与GOROOT目录下的pkg功能类似。区别在于,工作区中的pkg目录专门用来存放用户(也就是程序开发者)代码的归档文件。构建和安装用户源码的过程一般会以代码包为单位进行,比如logging包被编译安装后,将生成一个名为logging.a的归档文件,并存放在当前工作区的pkg目录下的平台相关目录中。
    3. bin目录:与pkg目录类似,在通过go install命令完成安装后,保存由Go命令源码文件生成的可执行文件。

    命令源码文件与库源码文件的区别:

    1. 命令源码文件: 声明为属于main代码包,并且包含无参数声明和结果声明的main函数的源码文件。这类源码文件可以独立运行(使用go run命令),也可被go build或go install命令转换为可执行文件。
    2. 库源码文件指存在于某个代码包中的普通源码文件

    说明:

    1. go build 用于编译给定的代码包或GO源码文件及其依赖包
    2. go install 用于编译和安装给定的代码包及其依赖包。
    3. go run 用于编译并运行给定的命令源码文件。

    注意:

    1. GOPATH中不要包含环境变量GOROOT的值(即GO的安装目录),以此将Go语言本身的工作区同用户工作区严格地分开。
    2. 通过Go工具中的代码获取命令go get, 可将指定项目的源码下载到我们在环境变量GOPATH中设定的第一个工作区中,并在其中完成构建和安装的过程。
    3. 在实际开发中,工作区往往有多个。这些工作区的目录都添加到GOPATH环境变量中。默认第一个为第三方代码库安装所在工作区,后边为用户工作区。

    root

    发表回复