摘要:github也有各类库列表,但是不接地气,这个列表比较有意思。 go的有趣的项目 https://pdf.us/2019/12/06/3755.html
阅读全文
摘要:命令行参数真是很神奇的,因为我们使用命令行接收各类参数去启动程序。 各类语言都有类似的包去处理命令行参数 例如java的org.apache.commons.cli.CommandLine,go的flag包和cobra,或者boost的boost/program_options.hpp 1 基本的工
阅读全文
摘要:最近读groupcache的源码,有个一次执行的模块。 保证同一个key的函数只执行一次。 原理是利用sync.waitGroup的wait可以同步阻塞。然后等待所有的wait完成 写了个测试的demo程序,其实还是需要分析下标准库源码。 wait是个for循环,检测当前的状态 如下是我的demo
阅读全文
摘要:官方抽象出来的排序接口 提供了对int float string三种类型的排序 使用说明在example里面有详细写到 总结出来是四种常用的方式 1 简单的对类型的slice进行排序 2 使用比较的函数类型封装比较操作 3 支持多种比较函数 4 把需要比较的对象作为匿名对象迁移struct里面,通过
阅读全文
摘要:项目打算写日志,没有选好合适的日志库,所以研究了下两个日志库。 lumberjack介绍 这个库我通读了源码,因为代码比较少。 它的主要功能是对文件卷动和压缩进行了抽象。 lumberjack 的主要格式 zap介绍 zap是uber开源的日志库,性能超级赞。源码太长,没有全部读完。 但可以简单使用
阅读全文
摘要:一直觉得这是个非常优秀的项目,非常精练,值得一读。 昨天下班特意画一个小时读了一遍,代码非常短,使用go做网络开发的同学可以读一下。 短小精悍,今天特写写了一篇博客介绍下。读起来特别开心。针对。 项目地址 https://github.com/funny/link 项目的使用,从官网抄的 packa
阅读全文