Golang 1.12.4 和 1.11.9 版本已发布

Golang 1.12.4 和 1.11.9 版本已发布 大家好,

我们刚刚发布了 Go 1.12.4 和 1.11.9 版本,这是两个次要的补丁版本。

这些版本修复了一个问题,即在旧版 GNU/Linux 系统上使用预构建的二进制发行版时,链接使用 cgo 的程序会导致失败。

只有遇到此问题的 Linux 用户需要更新。

之前我们曾尝试通过 Go 1.12.3 和 1.11.8 版本修复此问题,但这两个版本在发布时意外地未包含预期的修复。对于我们的失误,我们深表歉意。

查看发布说明以获取更多信息:

https://golang.org/doc/devel/release.html#go1.12.minor

您可以从 Go 网站下载二进制和源代码发行版:

https://golang.org/dl/

要通过 Git 克隆从源代码编译,请使用以下命令更新到该版本:

git checkout go1.12.4

并照常构建。

感谢所有为此次发布做出贡献的人。

谢谢,

Go 团队 Andy


更多关于Golang 1.12.4 和 1.11.9 版本已发布的实战教程也可以访问 https://www.itying.com/category-94-b0.html

2 回复

2个帖子被拆分到新主题:Go升级问题

更多关于Golang 1.12.4 和 1.11.9 版本已发布的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


感谢 Go 团队及时修复了 cgo 链接问题。对于在旧版 GNU/Linux 系统上使用预构建二进制发行版的开发者来说,这个修复至关重要。以下是一个简单的示例,说明在更新到 Go 1.12.4 后如何验证 cgo 链接是否正常工作。

假设你有一个使用 cgo 的简单 Go 程序,例如调用 C 函数的代码。首先,创建一个文件 main.go

package main

// #include <stdio.h>
// #include <stdlib.h>
/*
void hello() {
    printf("Hello from C via cgo!\n");
}
*/
import "C"

func main() {
    C.hello()
}

在更新到 Go 1.12.4 之前,在旧版 Linux 系统上使用预构建二进制发行版编译此程序可能会失败,并出现链接错误。现在,使用 Go 1.12.4 编译和运行:

go build -o myapp main.go
./myapp

输出应该显示:

Hello from C via cgo!

这确认了 cgo 链接问题已修复。如果你之前遇到过类似问题,建议立即更新到 Go 1.12.4 或 1.11.9 以避免编译中断。对于其他用户,如果没有使用 cgo 或不在受影响的环境中,可能无需立即更新,但保持最新版本总是好的实践。

感谢 Go 团队的持续维护和透明沟通。

回到顶部