当读取91.2 MB文件时,read1耗时43ms,read2耗时99ms。
package main
import (
"flag"
"fmt"
"io/ioutil"
"os"
"time"
)
func read1(filename string) {
ioutil.ReadFile(filename)
}
func read2(filename string) {
f, err := os.Open(filename)
defer f.Close()
if err != nil {
fmt.Println("os Open error: ", err)
return
}
ioutil.ReadAll(f)
}
func main() {
flag.Parse()
file := flag.Arg(0)
start := time.Now()
read1(file)
t1 := time.Now()
fmt.Printf("Cost time %v\n", t1.Sub(start))
read2(file)
t2 := time.Now()
fmt.Printf("Cost time %v\n", t2.Sub(t1))
}
两个东西读出来的文件内容是一模一样的