- 博客(12)
- 资源 (4)
- 收藏
- 关注
原创 Golang的一些技巧
1. 利用defer在函数的进入和退出进行操作 下例中的bigSlowOperation函数,直接调用trace记录函数的被调情况。bigSlowOperation被调时,trace会返回一个函数值,该函数值会在bigSlowOperation退出时被调用。通过这种方式, 我们可以只通过一条语句控制函数的入口和所有的出口,甚至可以记录函数的运行时间,如例子中的start。需要注意一点:不要忘记d...
2019-10-24 14:30:52 142
原创 Golang学习笔记(8)goroutine 和 channel
第八章 goroutine 和 channel goroutine func main() { for i := 0; i < 1000; i++ { go func(i int) { for { fmt.Printf("Hello from "+ "goroutine %d\n", i) } }(i) } time.Sleep(time.Min...
2019-06-07 21:12:26 117
原创 Golang学习笔记(7)测试与性能调优
第七章 测试与性能调优 测试 传统测试 vs 表格驱动测试 传统测试 测试数据和测试逻辑混在一起 出错信息不明确 一旦一个数据错误测试全部结束 表格驱动测试 分离的测试数据和测试逻辑 明确的出错信息 可以部分失败 go语言的语法是的我们更容易实现表格驱动测试 func TestTriangle(t *testing.T) { tests := []struct{ a, b, c int...
2019-06-04 13:39:54 150
原创 Golang学习笔记(6)资源管理和错误处理
第六章 资源管理和错误处理 defer调用 确保调用在函数结束时发生 func writeFile(filename string) { file, err := os.Create(filename) if err != nil { panic(err) } defer file.Close() writer := bufio.newWrite(file) defer w...
2019-06-02 00:24:57 99
转载 Google Protocol Buffers浅析(二)
本文开始将逐渐介绍怎么使用protocol buffers来完成序列化与反序列化数据的应用,开发环境为VS2008,语言为C++,外部库用的是googlebuffer库。 1、Google Protocol Buffer库 在我们的应用程序里面,需要使用到google buffer提供的库,大家可以到官网去下载,笔者也会提供一个精简后的Win32 Release
2014-04-09 17:07:51 1123
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人