择善固执,守正待时
诚者,天之道也;诚之者,人之道也。诚者,不勉而中,不思而得。从容中道,圣人也;诚之者,择善而固执者也。
进阶篇:字符串拼接性能及原理 进阶篇:字符串拼接性能及原理
一、字符串高效拼接在 Go 语言中,字符串(string) 是不可变的,拼接字符串事实上是创建了一个新的字符串对象。如果代码中存在大量的字符串拼接,对性能会产生严重的影响。 1. 常见的拼接方式为了避免编译器优化,我们首先实现一个生成长度为
2021-01-13
进阶篇:提高反射性能 进阶篇:提高反射性能
一、反射的用途标准库 reflect 为 Go 语言提供了运行时动态获取对象的类型和值以及动态创建对象的能力。反射可以帮助抽象和简化代码,提高开发效率。 Go 语言标准库以及很多开源软件中都使用了 Go 语言的反射能力,例如用于序列化和反序
2021-01-12
进阶篇:切片传参的陷阱 进阶篇:切片传参的陷阱
问题引入在Go的源码库或者其他开源项目中,会发现有些函数在需要用到切片入参时,它采用是指向切片类型的指针,而非切片类型。这里未免会产生疑问:切片底层不就是指针指向底层数组数据吗,为何不直接传递切片,两者有什么区别? 例如,在源码log包中,
2021-01-11