首页 > 其他分享 >goroot和gopath环境变量,gopath是干啥的?不配置gopath可以吗?可以的!~

goroot和gopath环境变量,gopath是干啥的?不配置gopath可以吗?可以的!~

时间:2024-09-18 16:23:08浏览次数:9  
标签:bin gopath src goroot 目录 编译 Go GOPATH 环境变量

在这里插入图片描述
在这里插入图片描述

配置gopath主要是方便管理exe、依赖库,src源码,不配置默认也可以。

GO环境中GOPATH是干啥的?

GOPATH 是 Go 语言的工作区,用于存储 Go 的源代码、依赖包和编译后的可执行文件。它包含三个主要目录:srcpkgbin,每个目录在 Go 的开发过程中都有特定的作用。

1. src 目录

  • 作用: src 目录用于存储 Go 项目的源代码。

  • 详细说明

    :

    • 所有的 Go 源文件(包括你编写的项目和第三方库)都会存放在 src 目录下。
    • 项目的源代码通常组织为类似于 src/github.com/username/project 这样的结构。
    • 你编写的所有 Go 文件都会放在这个目录中进行开发和管理。
使用示例
$GOPATH/src/github.com/yourname/yourproject/main.go

当你使用 go get 下载一个包时,包的源代码会放在 src 目录下:

$GOPATH/src/github.com/gin-gonic/gin

2. pkg 目录

  • 作用: pkg 目录用于存储 Go 包的 编译结果,特别是下载的依赖包的编译缓存文件。

  • 详细说明

    :

    • 当你运行 go buildgo install 时,Go 会将编译后的 .a 文件(编译的二进制文件)存储在 pkg 目录中,以便复用和加快后续的编译。
    • 它根据不同的操作系统、架构和包的路径组织这些编译文件。例如,$GOPATH/pkg/darwin_amd64/github.com/gin-gonic/gin.a 表示在 macOS 系统上的编译产物。
使用场景

当你运行以下命令时:

go get github.com/gin-gonic/gin

Go 会在 $GOPATH/src 中下载源代码,并在 $GOPATH/pkg 中存储编译后的 .a 文件以供后续复用。

3. bin 目录

  • 作用: bin 目录用于存储通过 go install 命令生成的 可执行文件

  • 详细说明

    :

    • 当你运行 go install,Go 会将编译后的可执行文件存放到 bin 目录中,方便你在命令行中直接运行这些二进制文件。
    • 对于第三方命令行工具,Go 也会把它们的可执行文件放入 bin 目录。例如,安装一个 Go 工具后,你可以在终端中直接运行该工具,而无需指定完整路径。
使用示例
$GOPATH/bin/myapp

如果你将 $GOPATH/bin 添加到系统的 PATH 环境变量中,你就可以直接在命令行中使用这些工具:

export PATH=$PATH:$GOPATH/bin

总结

  • src: 存放源代码,包含你编写的项目和下载的依赖包的源文件。
  • pkg: 存放依赖包的编译缓存(.a 文件),加快编译速度。
  • bin: 存放编译后的可执行文件(通过 go install 生成)。

在模块化(Go Modules)的模式下,GOPATH 的重要性有所减弱,但仍然可以用来存放 Go 代码库和工具。

标签:bin,gopath,src,goroot,目录,编译,Go,GOPATH,环境变量
From: https://blog.csdn.net/weixin_52236586/article/details/142318639

相关文章

  • GBASEDBTSERVER 环境变量7GBASEDBTSHMBASE 环境变量 (UNIX™)
    GBASEDBTSERVER环境变量GBASEDBTSERVER环境变量指定SQLAPI客户机、DB-Access实用程序或其他GBase8s产品与之建立显式或隐式连接的缺省数据库服务器。必须先设置此环境变量,才能使用GBase8s客户机产品。它具有以下语法。dbservername是缺省数据库服务器的名称。GBA......
  • 在CentOS系统中如何配置Java开发环境环境变量的手把手操作流程
    以下是一份关于“在CentOS系统中如何配置Java开发环境环境变量”的手把手操作流程,由浅入深,先整体后分部:一、引言Java是一种广泛使用的编程语言,其跨平台特性使得它在不同操作系统上都能运行。为了在CentOS系统中进行Java开发,我们需要配置Java开发环境。本文将详细介绍如何......
  • 在Windows系统中如何配置Java开发环境环境变量&零基础手把手教程
    以下是一份关于“在Windows系统中如何配置Java开发环境环境变量”的手把手操作流程,由浅入深,先整体后分部:一、引言Java是一种广泛使用的编程语言,其跨平台特性使得它在不同操作系统上都能运行。为了在Windows系统中进行Java开发,我们需要配置Java开发环境。本文将详细介绍如......
  • Windows11里如何设置Java环境变量(详细版)
      1.基本详情           首先介绍一下基本的情况,jdk安装有两种,一种是压缩包,另一种就是官网下载的。官网链接:Java下载|Oracle中国 记住安装时的路径,我们在设置环境时,要用到它。建议就放在默认的C盘里面如何复制路径?右击上面窗口的jdk1.8.0处注意:是复......
  • 重拾java-------day2(下载,特点,运行过程,环境变量)
    java背景前言一、java背景二、特点虚拟机jvm(跨平台)jvm,jre,jdkjava程序的运行过程环境变量的配置前言“我曾经喜欢过你,但可惜我先成了大人……”加油!少年一、java背景由SUN公司开发,意思是盛产咖啡的爪哇岛由oracle公司收购,意味着要去oracle公司官网下载二、......
  • 一文讲懂Mac中的环境变量
    你是否曾经因为环境变量配置不当而浪费了宝贵的开发时间?你是否好奇为什么有时候在终端输入命令会提示"commandnotfound",而有时候又能正常运行?如果你是一名Mac用户,并且希望真正掌握环境变量的奥秘,那么这篇文章将为你揭开Mac中环境变量的神秘面纱,帮助你成为一名更高效......
  • Powershell 重新排列 Windows环境变量
    最近乱搞环境变量,然后有些重复了,遂写个脚本去重下排序下。环境变量有长度限制,如果超出了,比如SqlServer相关的,将共同路径单独搞个变量声明下,比如将其路径手动替换成如下,可大幅压缩变量长度但是,Powershell脚本在获取环境变量时又会将这些恢复成原路径,建议点击编辑文本,将其拷贝......
  • GO语言初步详细介绍以及环境变量的配置----保姆级教程
    一:概述Go语言(也称为Golang)是一种由Google公司设计和开发的静态类型、编译型编程语言。自2009年正式对外发布以来,Go语言以其简洁、高效和强大的并发处理能力迅速赢得了开发者的青睐,并在多个领域得到广泛应用。二:具体说明<1>Go语言的详细介绍1.1Go语言的特点简洁、易读和易写:Go语言......
  • JavaSE--零基础的开始笔记01:下载JDK以及Path环境变量的 配置
    Java概述(觉得没必要的可以直接跳过):Java是sun公司1995年推出,2009年被oracle收购又称为“甲骨文公司”。java之父:詹姆斯.高斯林java是一门高级语言,接近人类语言程序易懂。流行度很高,商业占用率高,特性是:可移植性---可跨平台         JavaSE:标准版,java技......
  • JDK mac版本安装及环境变量配置
    官网下载jdk8注意:M芯片必须ARM版本否则编译报错安装失败!安装jdk(双击--继续)配置环境变量3.1打开终端窗口,执行以下命令:3.2执行命令打开.zshrc文件修改环境变量配置3.3执行以下命令修改配置:exportJAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Co......