iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > GO >安装包和GOCACHE有什么区别
  • 136
分享到

安装包和GOCACHE有什么区别

2024-04-04 23:04:59 136人浏览 安东尼
摘要

今天编程网给大家带来了《安装包和GoCACHE有什么区别》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支

今天编程网给大家带来了《安装包和GoCACHE有什么区别》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

我总是使用 -i 标志构建来安装软件包,并且 .a 文件安装在 GOPATH/pkg 目录中。 go env GOCACHE 显示的 GOCACHE 目录似乎也存储缓存文件。 他们有什么区别?

我想知道的是,如果我想加快构建时间,应该保存它们吗?


解决方案


tldr; 缓存文件夹位于 go 工具的内部,其工作对用户来说应该是不透明的,其目的是加快构建和测试速度。例如,如果您使用版本控制系统(例如git),在分支或版本之间切换时,gopath/pkg可能只包含一个版本的包文件。 go 缓存文件夹可能包含(部分)多个分支和版本的编译包,当您在分支和版本之间切换时加快未来的构建速度。

缓存文件夹是在Go 1.10中引入的:

go build 命令现在维护最近构建的软件包的缓存,与 $goroot/pkg$gopath/pkg 中安装的软件包分开。 缓存的作用应该是加速未显式安装软件包的构建或在源代码的不同副本之间切换时(例如,在版本控制系统中的不同分支之间来回更改时)。 不再需要添加 -i 标志以提高速度的旧建议(如 go build -igo test -i):构建运行速度与没有 -i 一样快。更多详情请参见go帮助cache

因此您不再需要使用 -i 来实现快速构建。

go 输出的一些引用帮助cache

go 命令会缓存构建输出,以便在将来的构建中重用。 缓存数据的默认位置是名为 go-build 的子目录 在当前操作系统的标准用户缓存目录中。 设置 gocache 环境变量会覆盖此默认值, 并运行“go env gocache”打印当前缓存目录。

go命令会定期删除未被缓存的数据 最近使用过。运行“go clean -cache”会删除所有缓存数据。

构建缓存正确地考虑了对 go 源文件的更改, 编译器、编译器选项等:显式清理缓存 在典型使用中不需要。但是,构建缓存 不检测使用 cgo 导入的 c 库的更改。 如果您对系统上的 c 库进行了更改,则 需要显式清理缓存或者使用 -a 构建标志 (参见“go help build”)强制重建包 依赖于更新的 c 库。

go 命令还会缓存成功的包测试结果。 有关详细信息,请参阅“帮助测试”。运行“go clean -testcache”删除 所有缓存的测试结果(但不缓存构建结果)。

缓存文件夹还用于存储测试结果,因此在某些情况下,可能会显示缓存的结果,而无需再次运行测试。

您的问题是自我回答的:

$ ls $(go env gocache)
$ cat $(go env gocache)/readme

$ ls $(go env GOPATH)/pkg

如您所见 - 它们之间没有任何相似之处:

  • gopath/pkg - 编译后的包在构建之间保持静态。这些文件实际上不是“现金”文件
  • gocache - 构建工件的集合,在构建之间不断变化

可以通过检查 go build 的来源来完成更详细的答案

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《安装包和GOCACHE有什么区别》文章吧,也可关注编程网公众号了解相关技术文章。

您可能感兴趣的文档:

--结束END--

本文标题: 安装包和GOCACHE有什么区别

本文链接: https://www.lsjlt.com/news/596205.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 安装包和GOCACHE有什么区别
    今天编程网给大家带来了《安装包和GOCACHE有什么区别》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支...
    99+
    2024-04-04
  • win7安装中升级安装和自定义安装有什么区别
    U盘的小巧和便捷深受用户们的喜爱,相信众多用户都喜欢用它作为存储数据和传输文件的小工具,对于一些比较追求个性化的朋友们会觉得每次U盘的图标都是一个样显得很单调,就想要更改一下U盘 安装Windows7时升级安装和自定义...
    99+
    2023-06-05
    win7 自定义 区别
  • java和JavaScript闭包有什么区别
    本篇内容介绍了“java和JavaScript闭包有什么区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2024-04-02
  • 原装屏和组装屏有什么区别
    原装屏和组装屏的区别在质量、性能、售后服务和成本等方面。详细介绍:1、原装屏是指由显示器制造商生产的标准化屏幕,它们是通过大规模生产的方式制造的,通常具有较高的分辨率、色彩准确性和色彩深度,可以提供更好的图像显示效果,具有较长的使用寿命,不...
    99+
    2023-08-18
  • ​SOP封装和SOIC封装有什么区别
    SOP(Small Outline Package)封装和SOIC(Small Outline Integrated Circuit...
    99+
    2023-10-21
    ​SOP SOIC
  • 鸿蒙和安卓有什么区别
    1、架构不同 鸿蒙:基于微内核开发。在微内核模式的架构中,操作系统提供的是最核心、最必要、最精简的功能。在系统运行的过程中,所有的进程都拥有自己的独立地址空间,彼此之间互不干扰,由内核进行最基本的调度和内存管理。如果某个进程出现错误时...
    99+
    2023-10-29
    鸿蒙 什么区别
  • /” 和 “\” 有什么区别
    键盘上的“/” 和 “\”这个两个“斜杠”有什么区别。 通常,“/”被叫作“正斜杠”,英语是forward slash,经常简称为slash。Windows命令用\,中文排版用/。而“\” 被叫作“反斜杠”,英语是backward sla...
    99+
    2023-09-25
    前端 java 服务器 Powered by 金山文档
  • 可升win11和预装win11有什么区别
    这篇文章主要介绍“可升win11和预装win11有什么区别”,在日常操作中,相信很多人在可升win11和预装win11有什么区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”可升win11和预装win11有什...
    99+
    2023-07-02
  • PHP7和PHP5在安全上有什么区别
    本篇内容主要讲解“PHP7和PHP5在安全上有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP7和PHP5在安全上有什么区别”吧!函数修改1. preg_replace()不再支持/...
    99+
    2023-06-17
  • win10纯净版和装机版有什么区别
    Win10纯净版和装机版的区别主要体现在以下几个方面:1. 预装软件:Win10装机版通常会预装一些常用的软件,如Office套件、...
    99+
    2023-10-18
    win10
  • H5和HTML有什么区别
    今天就跟大家聊聊有关H5和HTML有什么区别,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。h6和html的区别是:1、文档类型声明上,html有很长的一段代码很难记住,而html5只...
    99+
    2023-06-15
  • flash和html5有什么区别
    这篇文章将为大家详细讲解有关flash和html5有什么区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。区别有:1、html5是Web中HTML的规范,flash是矢量图和Web动画的标准;2、html...
    99+
    2023-06-15
  • asp和html有什么区别
    asp和html有什么区别?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。ASP代表动态服务器页面(Active Server Pages),通常称为Classic ASP或...
    99+
    2023-06-14
  • c和JavaScript有什么区别
    本篇内容介绍了“c和JavaScript有什么区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!区别:1、C语言主要是被编译成机器语言,而J...
    99+
    2023-06-14
  • javascript和css有什么区别
    javascript和css有什么区别?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布...
    99+
    2023-06-14
  • js和javascript有什么区别
    小编给大家分享一下js和javascript有什么区别,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!js和javascript之间没有区别,js是javascri...
    99+
    2023-06-15
  • MySQL的@和@@有什么区别
    本篇内容主要讲解“MySQL的@和@@有什么区别”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL的@和@@有什么区别”吧!MySQL的@与@@区别@x ...
    99+
    2024-04-02
  • JavaScript和Java有什么区别
    这篇文章主要介绍“JavaScript和Java有什么区别”,在日常操作中,相信很多人在JavaScript和Java有什么区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • typescript和nodejs有什么区别
    这篇文章将为大家详细讲解有关typescript和nodejs有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。区别:1、typescript是微软开...
    99+
    2024-04-02
  • tls和ssl有什么区别
    tls和ssl的区别:tls与ssl所支持的加密算法不同。tls记录格式与ssl记录格式相同,但版本号的值不同,例如tls版本1.0使用的版本号为sslv3.1。tls与sslv3.0在计算主密值时采用的方式不同。在ssl中,填充后的数据长...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作