Go语言单元测试和仿冒
testing
单元测试
Go语言提供了一个轻量级的测试框架,此框架由testing包和 go test -run命令组成。
要编写测试用例,你需要创建一个以 _test.go结尾的源文件。该文件中包含一个或多个如下签名的函数:
如果想让测试失败,调用testing.T的方法:
基准测试
testing包还支持性能基准测试。要执行基准测试,调用命令。
基准测试方法的签名如下:
如果要基准测试并发执行的性能,可以使用标记,并且调用助手函数:
验证样例…
阅读全文
7 years ago
0
Go语言IO编程
相关包
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实现了… |
7 years ago
0
使用Go语言进行文本处理
编程语言特性
字符串的表示
双引号包围。支持多行字符串,使用反引号包围:
1 2 3 |
str := `This string will have tabs in it` |
切片操作
1 2 3 4 5 |
str := "12345" println(str[0:1]) // 1 println(str[0:4]) // 1234 println(str[:]) // 12345 println(str[1:]) // 12345 |
获取长度
built-in库支持对多种数据类型获取长度,包括字符串:
取字符
类型转换
相关包
strings
提供基本的字符串处理函数:
bytes
可以利用此包创建字符串缓冲区,类似于Java的StringBuffer:
bufio
此包提供的Scanner可以逐行迭代处理字符串:
strconv
可用于将任何类型转换为字符…
阅读全文
8 years ago
0