Go语言IO编程
该包为IO操作原语提供了基本的接口,它包装了IO操作原语的实现(例如os包中的类型)。除非特别说明,调用者不能假设接口中的方法可以被并行调用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
const ( SeekStart = 0 // 相对于文件的起始位置进行Seek SeekCurrent = 1 // 相对于当前读取位置进行Seek SeekEnd = 2 // 相对于尾部进行Seek ) // 错误定义 // 由Read函数返回,表示没有更多可读的数据。用于优雅的结束文件读取(读到尾部了) var EOF = errors.New("EOF") // 在关闭的管道上进行读写 var ErrClosedPipe = errors.New("io: read/write on closed pipe") var ErrNoProgress = errors.New("multiple Read calls return no data or error")、 // 当提供的缓冲区不够存放读取到的数据时 var ErrShortBuffer = errors.New("short buffer") // 当写操作所要求的字节数不足时 var ErrShortWrite = errors.New("short write") // 在读取固定长度的块或者数据结构时,没有到预期的结尾位置即发生EOF var ErrUnexpectedEOF = errors.New("unexpected EOF") |
函数 | 说明 |
Copy |
func Copy(dst Writer, src Reader) (written int64, err error) 从src读取数据并写入到dst,直到src的EOF。返回写入dst的字节数,操作成功则err为nil 实现方式:如果src实现了WriterTo接口,则调用src.WriteTo(dst);如果dst实现了… |
Blender知识集锦
快捷键 | 说明 |
右键 | 单选元素 |
Shift 右键 | 追加元素(物体、点、线或者面)到选区 |
Ctrl I | 反选元素 |
A | 全选/全不选 |
B 左键 | 以矩形框追加元素到选区 |
C 中键 | 以笔刷修剪选区 滚动鼠标滚轮,可以修改笔刷大小 |
Ctrl 左键拖动 | 以套索追加元素到选区 |
Ctr… |
Ubuntu开发知识集锦
Ubuntu Unity是Aytana项目的一部分,该项目的目标是提升Ubuntu的用户体验。
Unity是一套图形界面,主要包括以下几个部分:
- 顶部工具栏:各种托盘图标,最大化窗口的关闭/最小化/恢复按钮,应用程序菜单栏
- 启动器:左侧图标,属于一种Dock
- Dash:启动…
Three.js学习笔记
Web图形库(Web Graphics Library)简称WebGL,是在浏览器环境下进行3D/2D图像渲染的技术。你不需要额外的插件,就可以在HTML5的Canvas上绘制复杂的、可交互的图形。
大部分现代浏览器支持WebGL技术,IE…
阅读全文PostCSS学习笔记
由于CSS语言本身的表达能力较差,Web开发人员常常使用SASS、LESS之类的CSS预处理器语言来编写样式,然后再编译为普通的CSS代码。
PostCSS是一个类似的、较晚出现的CSS处理器,它基于JavaScript语言编写。PostCSS使用插件式…
阅读全文CSS Modules学习笔记
CSS Modules是一个开源项目,它是一个简单的CSS模块化规范,主要完成两件事情:
- 样式类名、动画名的作用域支持。这可以避免命名冲突
- 模块化支持,允许CSS文件之间的依赖关系
与Less、SASS、PostCSS不同,CM并不尝试把CSS变得像一门编程…
阅读全文React Router学习笔记
React Router(本文后续简写为RR)是一个专门服务于React应用的强大的路由库。利用它你可以轻松的建立URL和UI之间的对应关系、在浏览器历史记录中自由导航。
本章先手工实现一个简单的路由机制,然后利用RR进行改造,以了解RR的优势和基本功能…
阅读全文