经验和建议
符合系统 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运行环境