在什么情况下 go 二进制文件是动态链接的?

In what cases are go binaries dynamically linked?

Go 编程语言的一个重要特性是它生成静态链接的二进制文件。然而,当我在我的$GOPATH/bin中运行'ldd *'时,我发现了几个动态可执行文件。是否有一套明确的规则来理解go编译器在什么情况下会产生动态链接的二进制文件?

当使用cgo时,这就是Go链接到C程序的方式,当然可以使用动态链接库。

Go 1.8 引入了一个叫做 Go Plugin 的东西,它似乎使用了动态链接。

https://golang.org/pkg/plugin/