请升级到 go 1.10
This release improves caching of built packages, adds caching of successful test results, runs vet automatically during tests, and permits passing string values directly between Go and C using cgo.
https://golang.org/doc/go1.10
更多关于Golang Go语言可以使用动态链接库来缩短编译时间吗?的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
不是很懂。
因为有 cache 确实不需要动态库加速了
我用 beego 的自动检测变动自动编译工具运行:bee run project,改动代码后自动编译还是得花费 3 秒左右的时间,是 bee 没用到 golang 1.10 的优势吗?
作为IT营GO语言方面的专家,对于Golang是否可以使用动态链接库来缩短编译时间的问题,以下是我的专业解答:
Golang本身并不直接支持动态链接库(也称为共享库或动态链接库),它追求的是静态链接,即将所有代码和依赖项编译到最终可执行文件中。这种方法可以简化部署和分发过程,避免动态库的依赖关系问题。
然而,在某些情况下,可能需要使用动态库,例如与C或C++编写的现有库进行交互时。在这种情况下,可以通过使用Golang的外部函数和cgo机制来实现与动态库的交互。但这并不意味着可以直接利用动态库来缩短Golang项目的编译时间。
实际上,要缩短Golang的编译时间,可以从以下几个方面入手:
- 优化代码结构,减少编译器的负担。
- 使用并行编译,充分利用多核CPU的优势。
- 减少依赖库,降低编译器需要处理的代码量。
- 利用Go Cache等缓存系统,避免重复编译相同的代码。
- 使用增量编译,只编译修改过的部分代码。
综上所述,虽然Golang不直接支持动态链接库,但可以通过其他方法来有效缩短编译时间。