15.go开源groupcache项目笔记——sinks代码
2016-07-26 23:28
393 查看
15.go开源groupcache项目笔记——sinks代码
type Sink interface {
SetString(sstring) error
SetBytes(v[]byte) error
SetProto(mproto.Message) error
view()(ByteView, error)
}
然后定义了不同的结构体。每个结构体都实现各自的接口。
sp*string
v ByteView
}
dst*ByteView
}
dstproto.Message // authorative value
typstring
vByteView // encoded
}
dst*[]byte
v ByteView
}
dst*[]byte
v ByteView
}
包含一个viewSetter接口,接口包含setView函数。
结构体和接口
类型Sink
为接口。type Sink interface {
SetString(sstring) error
SetBytes(v[]byte) error
SetProto(mproto.Message) error
view()(ByteView, error)
}
然后定义了不同的结构体。每个结构体都实现各自的接口。
stringSink
type stringSink struct {sp*string
v ByteView
}
byteViewSink
type byteViewSink struct {dst*ByteView
}
protoSink
type protoSink struct {dstproto.Message // authorative value
typstring
vByteView // encoded
}
truncBytesSink
type truncBytesSink struct {dst*[]byte
v ByteView
}
allocBytesSink
type allocBytesSink struct {dst*[]byte
v ByteView
}
cloneBytes函数
返回byte数组,复制参数b的数组。setSinkView函数
入参为Sink, ByteView.包含一个viewSetter接口,接口包含setView函数。
相关文章推荐
- 14.go开源groupcache项目笔记——peers代码
- 一起talk C栗子吧(第一百七十八回:C语言实例--字符和字符串输出函数一)
- Java 访问 HDFS操作
- 小米笔试题-懂二进制
- Java中This ,Static,对象,对象的引用 等关键字的理解
- java中int和Integer的相互转化
- python获取系统硬件信息
- java编程---3.1 (关于String的练习题) 将字符串中的字符按需求等分,例如:把aqzxswerdcvfr变成AQZX-SWER-DCVF-R
- php基础部分总结篇-魔术方法
- Python BeautifulSoup中文乱码问题的2种解决方法
- Java源码-N个数字中第k个最大值的求解方法
- struts2+hibernate环境搭建
- 李洪强漫谈iOS开发[C语言-024]-表达式与赋值运算符
- 小米笔试题 风口的猪-中国牛市
- uc高级编程之权限
- struts2的学习笔记二
- Qt下载地址
- hibernate和spring的完整结合使用service层
- 崔希凡-javaWeb-笔记day07-day09(2016年7月26日23:17:27)
- 如何快速正确的安装 Ruby, Rails 运行环境-b