go语言标准库详解 go语言标志( 二 )


二、常用内容
1、Reader类型
NewReaderSize
作用:NewReaderSize将rd封装成一个带缓存的bufio.Reader对象 。缓存大小由size指定(如果小于16则会被设为16) 。如果rd的基类型就是有足够缓存的bufio.Reader类型,则直接将rd转换为基类型返回 。
NewReader
funcReader相当于NewReaderSize(rd, 4096)
Peek
Peek返回缓存的一个切片,该切片引用缓存中前n个字节的数据,该操作不会将数据读出 , 只是引用,引用的数据在下一次读取操作之前有效的 。如果切片长度小于n,则返回一个错误信息说明原因 。如果n大于缓存的总大小,则返回ErrBufferFull 。
Read
Read从b中数据到p中,返回读出的字节数和遇到的错误 。如果缓存不为空,则只能读出缓冲中的数据,不会从底层io.Reader中提取数据 , 如果缓存为空,则:
1、len(p) = 缓存大小,则跳过缓存,直接从底层io.Reader中读出到p中
2、len(p) 缓存大小 , 则先将数据从底层io.Reader中读取到缓存中,再从缓存读取到p中 。
Buffered
Buffered返回缓存中未读取的数据的长度 。
Discard
Discard跳过后续的n个字节的数据 , 返回跳过的字节数 。
Writer类型和方法
write结构
NewWriteSize
NewWriterSize将wr封装成一个带缓存的bufio.Writer对象,缓存大小由size指定(如果小于4096则会被设置未4096) 。
NewWrite
NewWriter相等于NewWriterSize(wr, 4096)
WriteString
WriteString功能同Write,只不过写入的是字符串
WriteRune
WriteRune向b写入r的UTF-8编码,返回r的编码长度 。
Flush
Available
Available 返回缓存中未使用的空间的长度
Buffered
Buffered返回缓存中未提交的数据长度
Reset
Reset将b的底层Write重新指定为w,同时丢弃缓存中的所有数据,复位所有标记和错误信息 。相当于创建了一个新的bufio.Writer 。
GO中还提供了Scanner类型,处理一些比较简单的场景 。如处理按行读取输入序列或空格分隔的词等 。
内容来自:
参考链接:
1)
2)
golang怎么实现psd您好,Go语言可以实现PSD,它是一种静态类型的编程语言,可以用来开发各种应用程序 。Go语言拥有简单的语法,可以让开发者快速地实现PSD 。Go语言支持多种编程范式,可以用来实现面向对象、函数式编程和过程式编程等 。Go语言拥有强大的标准库,可以提供开发者丰富的功能 , 例如网络通信、文件系统操作、数据结构操作等 。Go语言还支持多种编程框架,可以用来实现PSD 。Go语言还支持多种编程工具,可以帮助开发者更快地实现PSD 。总之,Go语言是一种强大的编程语言,可以帮助开发者快速实现PSD 。
Go语言基础语法(一)本文介绍一些Go语言的基础语法 。
先来看一个简单的go语言代码:
go语言的注释方法:
代码执行结果:
下面来进一步介绍go的基础语法 。
go语言中格式化输出可以使用 fmt 和 log 这两个标准库,
常用方法:
示例代码:
执行结果:
更多格式化方法可以访问中的fmt包 。
log包实现了简单的日志服务,也提供了一些格式化输出的方法 。
执行结果:
下面来介绍一下go的数据类型
下表列出了go语言的数据类型:
int、float、bool、string、数组和struct属于值类型,这些类型的变量直接指向存在内存中的值;slice、map、chan、pointer等是引用类型,存储的是一个地址,这个地址存储最终的值 。
常量是在程序编译时就确定下来的值,程序运行时无法改变 。

推荐阅读