Golang中的插件开发

  插件化开发提供了很多便利,可动态扩展程序的相关功能,如Windows中的DLL、Linux中的So文件、还有IDEA中的插件,应用范围不可谓不广;   在Golang中提供了自己的插件机制,可使用其进行插件化开发;在Golang的plugin包中提供了加载插件、调用插件中函数的相关方法; Gol

Golang中将字节流转为Protobuf

  在接入第三方数据流或接入物联网设备时,通常这些数据所上报的数据只是按照指定的协议所编码,上报的数据流也不够紧凑,如我们直接存储这类字节流数据也比较大。此时可以将字节流转为其他压缩格式的流,如Protobuf等;   将字节流转为Protobuf流具体流程为:定义Proto文件、生成对应的Prot

Golang中的SingleFlight与CyclicBarrier

  SingleFlight将并发请求合并成一个请求,可用于减少下游压力;CyclicBarrier可重用栅栏并发原语,控制一组请求同时执行; SingleFlight   在Go中SingleFlight并不是原生提供的,而是开发组提供的扩展并发原语。它可实现多个goroutine调用通过一函数时

一、Golang中的反射基本使用

  Go中也提供了反射机制,与Java一样Go的反射也是在运行时获取对象的相关信息,更新对象内部状态;Golang通过反射可以获取对象类型、字段类型与值、调用struct实例方法、更新实例值等;   Go关于反射相关的对象、函数都在reflect包中最主要的两个为:Type与Value;   Go提

Golang中的sync.Pool对象

  Golang中存在一个Sync.Pool 对象,从名字上看像是对象池,但他本质上和实际上的对象池有着很大的区别,下面将详细介绍该对象。 Sync.Pool对象可伸缩、并发安全; 数据结构 type Pool struct { noCopy noCopy //标识不可复制对象 local

Golang中的内置函数

  Go中存在着不少内置函数,此类函数并不需要引入相关Package就可以直接使用该类函数。在Go的源码builtin包的builtin.go中定义Go所有的内置函数;但该文件仅仅是定义描述出了所有内置函数,并不包含函数的任何实现代码,该文件除了定义了内置函数还定义了部分内置类型; 内置函数使用 l

golang单元测试简述

  Golang中内置了对单元测试的支持,不需要像Java一样引入第三方Jar才能进行测试,下面将分别介绍Golang所支持的几种测试; 一、测试类型   Golang中单元测试有功能测试、基准测试、示例测试或称示例函数三种;   功能测试必须以TestXXX函数名出现,基准测试必须以Benchma

Golang中类面向对象特性

一、类型方法的实例成员复制与类型方法的实例成员引用   在Go中可以类似Java等面向对象语言一定为某个对象定义方法,但是Go中并没有类的存在,可以不严格的将Go中的struct类型理解为面向对象中的类; type demoObject struct { id int }   类的概念有了

再回首数据结构—红黑树(一)

  红黑树与AVL树一样同为二分搜索树,红黑树又称为是保持“黑平衡”的二叉树,红黑树最大高度为:2logn,红黑树由这么几个独特的特征:   1、每个节点或黑或红   2、根节点为黑色   3、每个叶子节点(最后的空节点)都为黑色   4、如果一个节点为红色,则他孩子节点全为黑色   5、从任意节点

再回首数据结构—AVL树(二)

  前面主要介绍了AVL的基本概念与结构,下面开始详细介绍AVL的实现细节; AVL树实现的关键点   AVL树与二叉搜索树结构类似,但又有些细微的区别,从上面AVL树的介绍我们知道它需要维护其左右节点平衡,实现AVL树关键在于标注节点高度、计算平衡因子、维护左右子树平衡这三点,下面分别介绍; 标注
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×