缓存读取文件
package main
import (
"os"
"fmt"
"bufio"
"io"
)
func main() {
inputFile, error := os.Open("C:/Users/Administrator/Desktop/test.txt")
if error != nil {
fmt.Println("Open File error", error)
}
/**
在函数中,编程人员需要创建资源(数据库连接,文件句柄,锁等)为了完成执行完毕,及时释放资源,
Go 的设计者提供了defer (延时机制)
当go 执行到一个 defer 时,不会立即执行defer 后的语句,而是将defer后的语句雅茹到一个栈中(defer栈)
当函数执行完毕,从defer栈中,依次从栈顶取出语句执行(遵循栈,先入后出的机制)
*/
defer inputFile.Close()
inputReader := bufio.NewReader(inputFile)
for {
inputStr,readerError := inputReader.ReadString('\n')
if readerError == io.EOF{
break //return
}
fmt.Print(inputStr)
}
fmt.Println()
}