3月 2022

Golang使用go build 进行条件编译

当我们编写的go代码依赖特定平台或者cpu架构的时候,我们需要给出不同的实现 C语言有预处理器,可以通过宏或者#define包含特定平台指定的代码进行编译 但是Go没有预处理器,他是通过 go/build包 里定义的tags和命名约定来让Go的包可以管理不同平台的代码 这篇文章将讲述Go的条件编译系统是如何实现的,并且通过实例来… 阅读更多 »Golang使用go build 进行条件编译

Go语言学习之CGO(转载)

1. 什么场合会使用Go与C的互操作呢? 下面的地址给出这样的答案:http://tonybai.com/2012/09/26/interoperability-between-go-and-c/ 提升局部代码性能时,用C替换一些Go代码。C之于Go,好比汇编之于C。 嫌Go内存GC性能不足,自己手动管理应用内存。 实现一些库的… 阅读更多 »Go语言学习之CGO(转载)

Golang internal内部包

Go中命名为internal的package,只有该package的父级package才可以访问该package的内容。 例如,一个包的路径…/a/b/c/internal/d/e/f只能被…/a/b/c的代码层级包引入,不能被…/a/b/g或其他的任意目录引用; [官方参考文档] : https://golang.… 阅读更多 »Golang internal内部包