Go条件编译

当程序的某个功能需要依赖底层平台或者根据特定处理器进行不同的实现时,提供特定的实现就非常有必要。

阅读全文

Go encoding/gob

gob是Go语言自带的一个数据序列化的编码/解码工具。类似于 Java 的 Serialization
gob和json,xml之类序列化实现一样,使用Encoder对数据进行编码,使用Decoder解码。

阅读全文

Go子进程

Go语言的os/exec包封装了调用外部可执行程序的操作。它包装了os.StartProcess,以便更容易映射stdinstdout,使用管道连接I/O,并进行其它调整。
os/exec假定运行在Linux环境,windows某些操作可能无法执行,此包的操作也无法在Go Playground上运行。

阅读全文

Go encoding/binary

encoding/binary包实现了数字与[]byte之前的简易转换,及其变体的编码与解码。
encoding/binary包更倾向于易用,而不是高性能,如果需要一个高性能的序列化或者需要处理大量数据,请优先考虑encoding/gob或者protocol buffers

阅读全文

Go逃逸分析

逃逸分析是一种确定指针动态范围的方法,简单来说就是分析在程序的哪些地方可以访问到某个指针。
Go是通过在编译器里做逃逸分析(escape analysis)来决定一个对象放栈上还是放堆上。
不逃逸的对象放栈上,随着函数退出后系统直接回收,不需要gc标记后再清除。
可能逃逸的放堆上,由系统GC来进行垃圾回收。

阅读全文

作者的图片

Cloud Strife

make the world a better place

Develop

7th Heaven