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 网站下载二进制和源代码发行版:
要通过 Git 克隆从源代码编译,请使用以下命令更新到该版本:
git checkout go1.12.4
并照常构建。
感谢所有为此次发布做出贡献的人。
谢谢,
Go 团队 Andy
更多关于Golang 1.12.4 和 1.11.9 版本已发布的实战教程也可以访问 https://www.itying.com/category-94-b0.html
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 团队的持续维护和透明沟通。

