陈哈哈的博客

Go语言重点笔记-通道channel的用法

golang channel 通道
一、Channel的特性Channel是Go语言的一种数据类型,它与int、string类型一样。这里里,我们可以先将Channel理解为语言层面解决多线程读写问题的阻塞队列。 它具有与BlockingQueue相同的物性: 读操作时,如果队列为空,阻塞; 写操作时,如果队列为满,阻塞; ...
阅读全文

Go语言重点笔记-结构体Struct和类Class的继承与组合

阅读本文需要具备 简历级精通Java面向对象知识,熟悉继承、封装、多态等概念; 了解Golang组合与继承; 本文介绍和说明Java与Golang两种语言在实现面向对象编程中,是如何实现“继承”和“组合”的概念以及它们之间的差异。 一、引子 - “继承”在任何语言中,无论是继承概念还 ...
阅读全文

Go语言重点笔记-如何理解内部函数make和new

GoLang make new
如何理解 make() 和 new()new()是常规用法 new()函数与C/C++、Java等new关键字方法类似,创建并返回指定类型的指针/引用。 make()是变通用法 make()函数,它更像是new()的带参数封装函数,用来解决new()函数无法指定slice, map, cha ...
阅读全文

Go语言重点笔记-幽灵变量陷阱

Golang For-Loop Ghost-Vars
幽灵变量并非GoLang特有的问题。 在For循环中,迭代变量在初始时创建,后续被重复使用。如果在其内部循环中使用go func(){}闭包,并直接访问其循环变量,会出现循环变量固定为最后的值的问题。如果没有理解产生此问题的根源,在运行结果表现上看,循环变量像幽灵一般不可理解。 详见示例代码 ...
阅读全文

中国车牌号码编码规则全解

车牌号码 编码规则 新能源车牌 武警车牌 军队车牌
根据工作需要以及此前发布的相关文档,我重新整理和修正中国车牌号码的编码规则,并在此博文中持续更新。 关于车牌号码解析,可以参考Go项目中国车牌号码归属地分析库:https://github.com/parkingwang/go-vna 一、民用车牌编码规则民用车牌包括以下几类: 普通 ...
阅读全文

Go语言重点笔记-深入了解sync.WaitGroup

Go GoLang WaitGroup 同步
Go的WaitGroup与Java的CountDownLatch相似,都是计数同步实现类。用于控制多个线程、Goroutine之间的同步。 一、WaitGroup官方用法这里是Go官方的使用示例:sync.WaitGroup 1.1 WaitGroup的核心函数 - AddAdd(delt ...
阅读全文

Go语言重点笔记-类型断言(Type-Assertion)的性能

Go GoLang 类型断言 type-switch Type-Assertion
本文为原创文章,转载请注明出处:http://yoojia.xyz。 如果觉得文章还不错,请分享到朋友圈吧,感谢支持。 最近一直在做公司数据处理底层框架go-messages项目的TPS优化。 首先是减少channel的传递层级,消息FanIn/FanOut的处理。在开发PC机中,TPS ...
阅读全文

Android Camera 相机开发详解

Android Camera 相机开发
在Android 5.0(SDK 21)中,Google使用Camera2替代了Camera接口。Camera2在接口和架构上做了巨大的变动,但是基于众所周知的原因,我们还必须基于 Android 4.+ 系统进行开发。 本文介绍的是Camera接口开发及其使用方法,通过本文章,你将全面地学 ...
阅读全文