- 博客(3)
- 资源 (13)
- 收藏
- 关注
原创 顺序执行模块代码处理技巧——error转panic
问题描述完成某项具体工作时, 通常会将工作拆分成多个子模块, 然后将各个子模块进行有效组合即可解决问题. 当各个子模块具有严格依赖关系时, 通常对每一个子模块的运行结果进行判断, 代码结构如下:func processBigProgram() (da interface{}, err error) { data, err := f1() if err != nil { r...
2018-09-22 14:21:49 223
原创 基准测试(benchmark)
简介基准测试是一种测试代码性能的方法, 同时也可以用来识别某段代码的CPU或者内存效率问题. 许多开发人员会用基准测试来测试不同的并发模式, 或者用基准测试来辅助配置工作池的数量, 以保证能最大化系统的吞吐量.和单元测试的文件名一样, 基准测试的文件名也必须以“_test.go”结尾. 另外, 基准测试函数必须以Benchmark开头, 接受一个指向testing.B类型的指针作为唯一参...
2018-09-09 17:57:55 24003 1
原创 Go语言之defer
defer关键字defer和go一样都是Go语言提供的关键字. defer用于资源的释放, 会在函数返回之前进行调用. 要使用好defer最重要的是要理解return执行过程:先给返回值赋值, 然后调用defer表达式, 最后才是返回到调用函数中. 理解了这句话, 关于defer的疑惑都能迎刃而解了.例子例一:func f1() (result int) { defer fu...
2018-09-08 11:17:57 419
强连通分量的Kosaraju算法实现
2014-04-14
QuadTree 2.0 C++
2014-02-18
QuadTree c++实现
2014-02-18
小根堆(二叉堆)实现
2012-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人