go env 命令详解

news/2024/4/27 16:50:22/文章来源:https://blog.csdn.net/K346K346/article/details/137065384

文章目录

  • 1.简介
  • 2.格式
  • 3.示例
  • 4.环境变量
  • 参考文献

1.简介

go env 用于查看和设置 Go 环境变量。

默认情况下 go env 输出格式为 Shell 脚本格式(如 Windows 上是 batch 文件格式)。如果指定变量名称,则只输出变量的值。

2.格式

go env [-json] [-u] [-w] [var ...]

其中 -json 表示以 JSON 格式输出而不是 Shell 脚本格式。

-u 表示 unset,取消环境变量。

-w 表示 write,设置环境变量。

3.示例

(1)查看 Go 所有环境变量。

#  Linux 环境查看 Go 所有环境变量
go env
GOARCH="amd64"
GOBIN="/data/home/go_proj/going_proj/bin"
GOCACHE="/home/dablelv/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/dablelv:/data/home/go_proj/going_proj"
GORACE=""
GOROOT="/usr/local/go"
...# Windows 环境查看 Go 所有环境变量
go env
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\dablelv\AppData\Local\go-build
set GOENV=C:\Users\dablelv\AppData\Roaming\go\env
set GOEXE=.exe
set GOEXPERIMENT=
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
...

(2)查看指定环境变量

go env NAME

(3)以 JSON 格式显示指定环境变量。

go env -json GOROOT
{"GOROOT": "C:\\Users\\dablelv\\.go\\1.22.1\\go"
}

(4)删除环境变量。

go env -u NAME

(5)设置环境变量

go env -w NAME=VALUE

(6)查看 go env 的帮助信息。

go help env
usage: go env [-json] [-u] [-w] [var ...]Env prints Go environment information.By default env prints information as a shell script
(on Windows, a batch file). If one or more variable
names is given as arguments, env prints the value of
each named variable on its own line.The -json flag prints the environment in JSON format
instead of as a shell script.The -u flag requires one or more arguments and unsets
the default setting for the named environment variables,
if one has been set with 'go env -w'.The -w flag requires one or more arguments of the
form NAME=VALUE and changes the default settings
of the named environment variables to the given values.For more about environment variables, see 'go help environment'.

4.环境变量

Go 环境变量是一些配置信息,可以影响 Go 程序的依赖管理、编译构建和运行环境和等方面。

常见环境变量有:

变量含义
GOROOTgo 语言安装时所在的目录绝对路径
GOPATH工作区所在的绝对目录
GOVERSION安装的 Go 版本
GOENVGo 环境变量配置文件的位置。不能使用 ‘go env -w’ 设置。若设置 GOENV=off 将禁用默认配置文件的使用。
GOOS编译代码的操作系统名称(比如 linux,windows,darwin 等)
GOARCH计算机处理器的架构(比如 amd64,386,arm 等)
GOPROXYGo Modules 的代理地址(URL),用于加速下载 Go 模块
GOSUMDB要使用的校验和数据库的名称以及可选的公钥和URL。详见 https://golang.org/ref/mod#authenticating
GOPRIVATE, GONOPROXY, GONOSUMDB以 glob 模式表示的模块路径,多个使用逗号分隔。这些模式应该总是直接获取,不走代理拉去,且不参与校验。详见 https://golang.org/ref/mod#private-modules
GOCACHE存储编译后信息的缓存目录
GODEBUG启用各种调试工具。详见https://go.dev/doc/godebug。
GO111MODULE用于控制 Go Modules 的行为,可以设置为 on、off 或 auto。如果设置为 on,则 Go Modules 模式将被启用;如果设置为 off,则禁用 Go Modules 模式;如果设置为 auto,则根据当前目录下是否存在 go.mod 文件来判断是否启用 Go Modules 模式。在 Go 1.13 中,GO111MODULE 的默认值为 auto,即自动启用 Go Modules 模式。这意味着,如果在项目目录下存在 go.mod 文件,则会自动启用 Go Modules 模式,否则会使用传统的 GOPATH 模式。
GOINSECURE表示以 glob 模式表示的模块路径,多个使用逗号分隔。支持以不安全的 HTTP 连接下载模块
GOMAXPROCS用于控制 Go 程序中可同时执行的最大 CPU 数量。默认值为 CPU 核心数量。可以通过设置 GOMAXPROCS 的值来提高程序的并发性能。

以上仅部分环境变量,查看所有 Go 环境变量可使用命令:go help environment


参考文献

Command Documentation
About the go command
go command - cmd/go

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1026486.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 系统基础操作命令

当前市面上常见的系统:Windows、Linux、Mac OS、Android、IOS…… Linux 不太适合日常使用,但是非常适合用于开发。因此作为一个程序猿来说,Linux 都是务必要掌握的。 Linux 介绍 Linux 发行版 目前市面上比较知名的发行版有:R…

DNS隧道攻击

什么是DNS隧道? DNS隧道是一种网络通信技术,它利用DNS(Domain Name System,域名系统)协议来建立隐蔽的通信通道。在正常情况下,DNS协议主要用于将域名解析为IP地址,但攻击者可以通过构造特殊的…

总结 | vue3项目初始化(附相应链接)

如何运行 vue 项目:vscode运行vue项目_vscode启动vue项目命令-CSDN博客 vue3项目搭建 目录管理 git管理:vue3项目搭建并git管理_git 新建vue3项目-CSDN博客 目录调整:vue3项目 - 目录调整-CSDN博客 vscode中快速生成vue3模板&#xff1a…

实现能效升级 | 基于ACM32 MCU的冰箱压缩机变频方案

概述 冰箱制冷系统中最重要的部件是压缩机。它从吸气管吸入低温低压的制冷剂气体,通过电机运转带动活塞对其进行压缩后,向排气管排出高温高压的制冷剂气体,为整个制冷循环提供源动力。这样就实现了压缩→冷凝→膨胀→蒸发 ( 吸热 ) 的制冷循环…

并查集|1971. 寻找图中是否存在路径、684.冗余连接、685.冗余连接II

目录 并查集基础 1971. 寻找图中是否存在路径 684.冗余连接 685.冗余连接II 并查集基础 并查集主要有三个功能。 寻找根节点,函数:find(int u),也就是判断这个节点的祖先节点是哪个将两个节点接入到同一个集合,函数&#xf…

项目中自动引入神器 - unplugin-auto-import/unplugin-vue-components

前端 项目中 自动引入 神器 前言 在开发中,我们总喜欢站在巨人的肩膀上开发,比如用一些 框架:vue,react, 组件库:element,ant。 工具函数:axios,lodash 现在是模块化时代,我们…

新手入门C语言之联合体和枚举

在上一篇文章中,我们了解到在C语言中,自定义类型有三种,这里我们介绍后两种,联合体和枚举。 一.联合体 1.联合体的声明 像结构体一样,联合体也是由一个或多个成员构成,这些成员的类型可以是不一样的&…

Go——结构体

Go语言中没有类的概念,也不支持类的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 一. 类型别名和自定义类型 1.1 自定义类型 在Go语言中有一些基本的数据类型,如string,整型,…

手机网页关键词视频爬虫采集软件可导出视频分享链接|视频无水印批量下载工具

全新音视频批量下载工具,为您解放视频管理烦恼! 现如今,音上涌现出大量精彩的视频内容,但是要想高效地获取、管理和分享这些视频却是一件颇具挑战的事情。针对这一难题,我们自主研发了全新的音视频批量下载工具&#x…

数学建模体育建模和经济建模国防科大版

目录 6.体育中的数学建模 7.经济学问题中的数学建模 7.1.实物交换模型 7.2.边际效应 7.3.最佳消费选择模型 6.体育中的数学建模 体育科学的研究中,也有大量的数学建模问题,例如:棒球的最佳击球点问题、滑板滑雪赛道的设计、越野自行车比…

各种需要使用的方法-->vue/微信小程序/layui

各种需要使用的方法-->vue/微信小程序/layui 1、vue里样式不起作用的方法,可以通过deep穿透的方式2、 js获取本周、上周、本月、上月日期3、ArrayBuffer Blob 格式转换ArrayBuffer与Blob的区别ArrayBuffer转BlobBlob转ArrayBuffer需要借助fileReader对象 4、使用…

STM32使用滴答定时器实现delayms

在STM32上使用SysTick实现jiffies(时间戳)并且实现delay_ms 代码实现: volatile uint32_t jiffies 0; // 用于记录系统运行的jiffies数 void SysTick_Handler(void) {/* 每次SysTick中断,jiffies增加 */jiffies; }uint32_t tick…

如何利用生成式人工智能挑选合适的候选人?

在当今激烈的商业竞争中,招聘合适的人才是构建企业成功的基石。筛选和面试候选人是一个复杂且精细的过程,它不仅关系到职位的有效填补,更影响到企业的长期发展和团队建设。 选择合适候选人的重要性 选择合适的候选人就像寻找一片沙滩上的珍…

曲线生成 | 图解Reeds-Shepp曲线生成原理(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 什么是Reeds-Shepp曲线?2 Reeds-Shepp曲线的运动模式3 Reeds-Shepp曲线算法原理3.1 坐标变换3.2 时间翻转(time-flip)3.3 反射变换(reflect)3.4 后向变换(backwards) 4 仿真实现4.1 ROS C实现4.2 Python实现4.3 Matlab实现 0 专栏介绍 &#x1f5…

MP4如何把视频转MOV格式? MP4视频转MOV格式的技巧

在现代的数字媒体时代,视频格式转换成为了许多用户必须掌握的技能。特别是将MP4视频转换为MOV格式,这对于需要在Apple设备上播放或编辑视频的用户来说尤为重要。本文将详细介绍如何将MP4视频转换为MOV格式,帮助读者轻松应对不同设备和平台的需…

编程语言|C语言——C语言基本数据类型

前言 针对不同的数据,采取不同的存储方式和进行不同的处理。随着处理对象的复杂化,数据类型也要变得更丰富。数据类型的丰富程度直接反映了程序设计语言处理数据的能力。 C语言很重要的一个特点是它的数据类型十分丰富。因此,C语言程序数据处…

【Nuxt3】modules目录和nuxt3模块的简单介绍

简言 记录下nuxt3项目中module的用法 modules目录 使用 modules/ 目录在应用程序中自动注册本地模块。 这是一个很好的地方,可以放置您在构建应用程序时开发的任何本地nuxt模块。 nuxt模块相当于npm包,可以发布到npm社区中 在modules/ 目录下的本地模…

二叉树|654.最大二叉树

力扣题目地址 class Solution { public:TreeNode* constructMaximumBinaryTree(vector<int>& nums) {TreeNode* node new TreeNode(0);if (nums.size() 1) {node->val nums[0];return node;}// 找到数组中最大的值和对应的下标int maxValue 0;int maxValueIn…

Kubernetes生产集群部署指南

部署生产就绪的Kubernetes集群需要考虑到管理、负载均衡、安全、存储等很多细节&#xff0c;本文给出了一个生产就绪Kubernetes集群的完整部署流程&#xff0c;可以作为生产部署的有效参考。原文: Deploying a Production Kubernetes Cluster in 2023 — A Complete Guide Grow…

万兆车载以太网转换器 10G/2.5G多速车载以太网转换器-MC10GM

MC10GM转换器 一、产品简要分析 2.5G,5G,10G可切换万兆/多速车载以太网转换器。采用罗森博格H-MTD标准接口类型。实现将车载以太网标准2.5/5/10G BASE-T1转换为工业级2.5/5/10G 标准以太网&#xff0c;进而接入电脑或工控机. 产品实现2.5/5/10G Base-T1 和2.5/5/10G Base-R之间…