io库

70 阅读1分钟

Reader接口 专门读取数据的

   type Reader interface {
    Read(p []byte) (n int, err error)
}



package main
import ("os"
        "fmt")
        
func main{
filrname := "  "
file,err := os.Open(filrname)

defer os.Close()
//一次读4个字节
bs := make([]byte,4,4)
n := -1
for{
    n,err := file.Read(bs)
    if n==0||err==io.EOF{
        fmt.Println{"到末尾了"}
        break
        }
    fmt.Println(string(bs[:n]))
    }
}

Writer接口

package main
func main{
    fimename := ""
    //1打开
    //2写数据
    //3关闭
    //file,err := os.Open(filename)/只读
    ///每次都从开头开始写 如果加了|os.APPEND,可以在末尾追加
    file,err := os.OpenFile(filename,os.CREAT|os.Write,os.ModePerm)
    if err != nil{
        fmt.Println()
        return
    }
    defer file.Close()
    
    
    bs := []byte{65,66,67,68,69,70}//ABCDEF
    n,err := file.Write(bs)
    fmt.Println(n)
    HandleErr(err) 
    
    //直接写字符串
    
    n,err := file.WriteString("helloworld")
    n,err := file.Write([]byte("asasa"))
    

}