首页 > 其他分享 >golang 构建标签(go:build)条件编译

golang 构建标签(go:build)条件编译

时间:2024-07-02 22:21:15浏览次数:1  
标签:编译 标签 golang Go build go

 

//go:build 是 Go 语言(golang)中的一种构建标签(build tag),用于控制源代码文件在特定条件下是否被编译。

这个注释标记允许你在同一个包内编写针对不同平台、操作系统或编译条件的代码。当 go build 或 go test 等命令执行时,它们会检查这些标签来决定哪些文件应该包含在构建过程中。

 

//go:build linux,amd64

package main

import "fmt"

func main() {
    fmt.Println("This code only runs on Linux AMD64.")
}

 

这段代码只会当目标平台是 Linux amd64 的时候被编译和执行。如果目标是其他平台,这个文件将被忽略。

请注意,//go:build 替代了早期版本 Go 中的 // +build,在 Go 1.17 及以后的版本中推荐使用 //go:build。

Go1.19 新增了支持 `go:build unix`。

 

Link:https://www.cnblogs.com/farwish/p/18280643

标签:编译,标签,golang,Go,build,go
From: https://www.cnblogs.com/farwish/p/18280643

相关文章

  • 区分公有地址和私有地址, golang实现
     区分公有地址(PublicIPAddresses)和私有地址(PrivateIPAddresses)主要依据它们的分配、使用范围以及是否能在全球互联网上直接路由。 以下是一些关键区别:  分配和管理: 公有地址:由互联网地址分配机构(InternetAssignedNumbersAuthority,IANA)管理......
  • Django框架之Cookie和Session概念,Django操作cookie,Django操作Session,CBV添加装饰器
    ⅠDjango框架之Cookie和Session概念【一】Cookie与Session的发展史Cookie和Session是用来在Web应用程序中跟踪用户会话数据的两种常用技术。【1】Cookie的发展史1994年,网景通信公司推出了第一个浏览器Cookie技术。Cookie是存储在用户计算机上的小型文本文件,用于跟踪用户......
  • Django 多对多关系
    多对多关系作用Django中,多对多关系模型的作用主要是为了表示两个模型之间的多对多关系。具体来说,多对多关系允许一个模型的实例与另一个模型的多个实例相关联,反之亦然。这在很多实际应用场景中非常有用,比如:博客和标签:一篇博客文章可以有多个标签,一个标签也可以属于多篇博客......
  • 遗传算法(Genetic Algorithm, GA)
        遗传算法是一种基于生物进化的计算模型,通过模拟自然选择和基因遗传的过程来寻找最优解或者近似最优解的算法。遗传算法由美国科学家JohnHolland在上世纪70年代提出,是一种全局优化搜索算法。     遗传算法的基本原理是通过模拟生物进化过程中的自然选择和......
  • Django3在网页上生成二维码
    1.安装包pipinstalldjango-qr-code2.在django项目的settings.py中,安装app打开项目的settings.py,找到INSTALLED_APPS,在这里增加一条'qr_code'INSTALLED_APPS=[...,'rest_framework','qr_code',...]3.在渲染的html文件中,导入模板{%loadqr_co......
  • go binary 与 gob
      在Go中,除了使用encoding/binary包将结构体转换为字节切片,还可以使用encoding/gob包进行序列化。两者各有优缺点,适用于不同的场景。以下是对比和示例:encoding/binary优点:高效:直接将结构体的内存布局写入字节切片,效率较高。简单:适用于简单的固定大小结构体。跨语......
  • 57.Django框架之序列化输出
    Django框架【一】序列化组件1)使用案例在前端获取到后端用户表里面的所有数据,并且格式是列表套字典#创建模型表classUser(models.Model): username=models.CharField(max_length=32,verbose_name="姓名")age=models.IntegerField(verbose_name="年龄")2)基于J......
  • Google常用搜索语法
    1.常用内容搜索语法1、intitle:搜索网页标题中包含有特定字符的网页。例如输入“intitle:后台”,这样网页标题中带有c后台的网页都会被搜索出来。2、intext:搜索网页正文内容中的指定字符,例如输入“intext:后台管理”。这个语法类似我们平时在某些网站中使用的“文章内容搜索......
  • go汇编调试方法
    plan9基本知识:首先我们学习如何用vscode+delve来调试go的plan9汇编代码.首先我们用vscode配置好go的运行环境.能正确打印helloworld代码.编写代码://main.gopackagemainfuncmain(){ varaaa=Sum(2,4) print(aaa)}funcSum(x,yint)int//add.sTEXT·Sum(......
  • Windows服务器下配置Gogs HTTP自动跳转HTTPS
    在前面的文章中,介绍了如何在Windows服务器下搭建自己的git服务器,在文末介绍了开启HTTPS的方法。https://www.cnblogs.com/zhaotianff/p/17887191.html 但是开启https后,无法使用http访问了,所以需要urlrewrite,找了一圈,发现网上的教程都是Linux下基于Nginx的。 通过尝试,找到......