经验和建议
符合系统 IO 接口
勿造轮子,多用 binary 包
Golang 的缓冲 IO
Reader.Peek
Reader.ReadLine
Writer.Flush
Golang 的基本 IO 接口
fmt.Printf
fmt.Println
fmt.sprintf
I/O
Golang 的基本 IO 接口
Golang 的缓冲 IO
实战
计算文件行数
读取二进制图片的文件头
三种io读取
package main import ( "encoding/binary" "os" "fmt" ) //go语言读取bmp文件 //bmp文件信息 type BitmapInfoHeader struct { Size uint32 //文件大小 Width int32 //文件宽度 Height int32 //文件高度 Places uint16 //文件面数 BitCount uint16 //每一个像素所占字节数 Compression uint32 //压缩方式 SizeImage uint32 //图片数据大小 XperlsPerMeter int32 //水平分辨率 YperlsPerMeter int32 //垂直分辨率 ClusUsed uint32 //颜色数 ClrImportant uint32 } func main(){ //实例化 infoHeader := new(BitmapInfoHeader) //读取bmp文件 file,_ := os.Open("timg.bmp") defer file.Close() binary.Read(file,binary.LittleEndian, infoHeader) fmt.Println(infoHeader) }
str:=fmt.Sprintf("float %f",3.14159)
fmt.Print(str)
fmt.Printf() 格式化输出函数
fmt.Println() 正常输出函数
%d 整型
%s 字符串
%v 自动格式化参数
Linux/Max下安装go运行环境