美文网首页
代码如何兼容不同版本go编译器

代码如何兼容不同版本go编译器

作者: guonaihong | 来源:发表于2019-05-29 19:56 被阅读0次

想法

想给一个开源库提交pr,新特新只能在某些go的版本上跑。自然就遇到要兼容不同go编译器的需求
搜索了下,找到如下语法。

// +build go1.10

作为一位老萌新,想要的效果是在go1.7,go1.8,go1.9调用函数A。大于go1.10调用B。

正常想法

第一反应是 要支持go1.7 go1.8 go1.9的代码加上

// +build go1.7 go1.8 go1.9

大于go1.10的加上

// +build >go1.10

真相

当运行的时候直接GG了,怎么调用都不行。忽然想了下 +build go-version,这里的语义会不会是 >= go-version或者是 <=go-version的语义,

// 最后通过试验终于得到 +build go-version是 >= go-version的语义。
// 如果go-version是 go1.10
// go1.10 go1.11 go1.12的编译器都会编译这段代码

// +build go1.10是大于或者等于go1.10编译器会编译
// +build !go1.10是小于go1.10编译器编译

相关文章

  • 代码如何兼容不同版本go编译器

    想法 想给一个开源库提交pr,新特新只能在某些go的版本上跑。自然就遇到要兼容不同go编译器的需求搜索了下,找到如...

  • 常见浏览器兼容问题及解决

    一、什么是浏览器兼容问题所谓浏览器兼容问题就是指不同浏览器或同种浏览器不同版本对相同代码解析效果不同,浏览器兼容问...

  • 浏览器兼容

    兼容问题 同一代码,有的浏览器效果正常,有的不正常;浏览器不同版本显示不同。 兼容出现原因 同一浏览器,版本越就B...

  • 2.7. Go 运行时(runtime)

    1. Go 编译器产生的是本地可执行代码,这些代码仍旧运行在 Go 的 runtime(这部分的代码可以在 run...

  • 关于浏览器兼容的一些问题

    什么是 CSS hackCSS hack就是我们为了使代码能兼容不同版本的浏览器而编写的关于浏览器兼容的语句。CS...

  • 版本控制如何简化迭代开发

    前端传版本号 后端则可以根据版本号做版本兼容这样可以保证前后端上线操作的解耦 缺点是代码中会出现大量的版本兼容代码...

  • 使用xmake检测编译器特性支持

    如果我们要写跨平台的c/c++代码,很多时候需要处理由于不同编译器对c/c++各个标准支持力度不同导致的兼容性问题...

  • 如何一步一步从源码构建go1.5及以上版本

    本文是主要参考 如何从源代码构建 Go 1.5 开发环境并针对目前go语言版本1.5.2做了归纳和整理,感谢这位前...

  • web框架并发3--go stdlib

    go 版本:go version go1.6 linux/amd64 一、代码: package main imp...

  • web框架并发4--go fasthttp

    go 版本:go version go1.10.7 linux/amd64 一、代码 package main i...

网友评论

      本文标题:代码如何兼容不同版本go编译器

      本文链接:https://www.haomeiwen.com/subject/krsutctx.html