如何将 -tags netgo 设置为 go 的默认值?

2024-01-19

要编译我的 golang 包以生成静态链接的可执行文件,我必须说:

go install -tags netgo

另外,我现在意识到,在没有 gcc 的系统上,我必须:

go get -tags netgo github.com/mypackage/...
go test -tags netgo ./...

如果你一直输入这个,那就不太好了。我设置了别名,这样我就可以减少输入,但是有没有一种“更好”或“正确”的方法来将 -tags netgo 设置为某种默认值?理想情况下,作为我的包本身的一部分,这样尝试使用我的包的陌生人就不会错过 -tags netgo。

编辑:我还想有机会说:

go install -tags netgo -ldflags '-linkmode external -extldflags -static -w'

IE。链接到可以静态编译的 C 代码。因此,它在没有 GCC 的机器上工作对我来说并不重要,重要的是它生成静态链接的可执行文件。我只是想知道是否有一种方法可以做到后者而不需要一直说 -tags netgo 。


您可以通过设置完全禁用 cgoCGO_ENABLED=0这将阻止网络包链接到主机解析器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 -tags netgo 设置为 go 的默认值? 的相关文章

  • 如何通过在切片上查找来从切片复制到数组

    我正在编写一个库来处理二进制格式 我有一个带有数组变量的结构 我想保留它以用于文档目的 我还需要从输入字节片中查找和判断 一些伪代码 type foo struct boo 5 byte coo 3 byte func main input
  • 从 Golang 调用 C 函数

    我想在 Golang 中编写控制器逻辑并处理 json 和数据库 同时在 C 中使用我的数学处理模型 在我看来 调用 C 函数的开销必须尽可能低 就像设置寄存器 rcx rdx rsi rdi 一样 执行一些操作fastcall 并获取 r
  • 子字符串和 Go 垃圾收集器

    在 Go 中获取字符串的子字符串时 不会分配新的内存 相反 子字符串的底层表示包含一个数据指针 该指针是原始字符串的数据指针的偏移量 这意味着 如果我有一个大字符串并希望跟踪一个小子字符串 则垃圾收集器将无法释放任何大字符串 直到我释放对较
  • 如何在 Go 中获取给定月份的第一个星期一?

    我正在尝试获取给定月份的第一个星期一 我能想到的最好方法是循环前 7 天 然后返回 Weekday Monday 有一个更好的方法吗 通过查看时间的 Weekday 您可以计算出第一个星期一 package main import fmt
  • 应用程序启动时突然出现 Firebase java.lang.IllegalAccessError

    突然发生崩溃安装后应用程序的初始启动 但只是第一次 第二次打开应用程序后它可以正常工作 我没有更改 firebase 代码 但可能是依赖项 但是到最新版本 所以通常它应该是一个稳定的版本 似乎有一些与 firebase 相关的问题 java
  • Go 指针 - 通过指针将值附加到切片

    我有一个 struct ProductData 及其实例 p 它有一个切片属性 type ProductInfo struct TopAttributes map string interface 我想设置 TopAttributes 如下
  • 结构体到磁盘的高效 Go 序列化

    我的任务是将 C 代码替换为 Go 而且我对 Go API 还很陌生 我正在使用 gob 将数百个键 值条目编码到磁盘页面 但 gob 编码有太多不需要的膨胀 package main import bytes encoding gob f
  • 未找到 Gradle DSL 方法:“versionCode()”

    构建我的 Android 项目时遇到问题 我使用Grgit https github com ajoberstar grgit填写versionCode and versionName在 gradle 中 一切工作正常 直到我将 Andro
  • []interface{}{} 中的双大括号是什么意思

    请注意 这是格式为 的双花括号 而不是嵌套花括号 我也不确定这是空接口问题 切片问题还是结构问题 我猜它至少是其中两个的组合 我正在学习 Golang 并且已经达到了空接口 我发现我需要将空接口声明为 interface 或者例如 inte
  • 如何在GO中执行HEAD请求?

    我想使用 GO net http 获取页面的内容长度 我可以在终端中使用curl i X HEAD https golang org然后检查内容长度字段 use http Head https golang org pkg net http
  • Go的堆接口实现的优先级队列的大小限制

    在Java中 有一个具有大小属性 的PriorityQueue 我在这里也期待同样的事情 如果我没记错的话 用例 一一读取数百万数据并将其发送到优先级队列 我只想要前 5 个计算元素 因此我只想要大小为 5 的堆 优先级队列 我正在尝试使用
  • 我使用go语言打印到POS打印机,但打印出的中文字符很糟糕。 (英语没问题)

    我在用着this https github com alexbrainman printer去打包 一切都很好 但汉字打印得很差 我不擅长这种低级 硬件 编码的事情 所以有人提示我如何纠正我的代码 更新代码 func main testWi
  • Golang 结构的 XML 和 JSON 标签?

    我有一个可以根据 HTTP 请求标头输出为 JSON 或 XML 的应用程序 我可以通过将正确的标签添加到我正在使用的结构中来实现正确的输出 但我不知道如何为 JSON 和 XML 指定标签 例如 序列化以纠正 XML type Foo s
  • Golang:从文本文件中替换字符串中的换行符时出现问题

    我一直在尝试读取一个文件 然后将读取的材料放入字符串中 然后字符串将按行分割成多个字符串 absPath filepath Abs Go input txt data err ioutil ReadFile absPath if err n
  • R CMD INSTALL --build package --> “小插图丢失”

    问题 C gt Rcmd exe INSTALL build library C Users local aphalo Documents R win library 3 0 photobiology C gt Rcmd exe INSTA
  • Ubuntu 下使用 rpmbuild 构建

    我需要在 Ubuntu 10 4 下使用补丁构建 yum 原因是我需要为我的虚拟服务器实例提供支持 chroot 的 yum 由于 ubuntu 的 yum src 不可用 第 3 方存储库 我从官方存储库下载了源代码 并从 linux v
  • 是否可以将 Go 代码作为脚本运行?

    随着Go正在成为 系统 的语言 我想知道是否可以将 Go 代码作为脚本运行而不编译它 有可能这样做吗 动机 因为有关于动机的问题 取自如何使用 Scala 作为脚本语言 http alvinalexander com scala how t
  • 带有导出字段的私有类型

    在 Go 教程的第二天有这样的练习 为什么拥有带有导出字段的私有类型会很有用 例如 package geometry type point struct X Y int name string 请注意point是小写的 因此不会导出 而字段
  • 将 Websocket 消息发送到 Go 中的特定通道(使用 Gorilla)

    我对 Go 很陌生 并且发现自己使用套接字作为我的第一个项目 这是一个多余的问题 但我无法理解如何将 websocket 更新发送到 Go 中的特定通道 使用 Gorilla 我在用此链接中的代码示例 https github com go
  • Golang 从管道读取读取大量数据

    我正在尝试读取一个正在被焦油化 流式传输到标准输入的存档 但我正在以某种方式读取far管道中的数据多于 tar 发送的数据 我像这样运行我的命令 tar cf somefolder my go binary 源代码是这样的 package

随机推荐