视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,请移步至知乎网站,谢谢支持!
附上汇总贴:Go语言自学系列 | 汇总 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/484035621
封装一些实用的I/O函数
实例演示
讲解官方实例演示
package main
import (
"fmt"
"io/ioutil"
"log"
"os"
)
func testReadAll() {
// r := strings.NewReader("hello world!")
f, _ := os.Open("a.txt") // File实现了Reader
defer f.Close()
b, err := ioutil.ReadAll(f)
if err != nil {
fmt.Printf("err: %v\n", err)
}
fmt.Printf("string(b): %v\n", string(b))
}
func testReadDir() {
fi, _ := ioutil.ReadDir(".")
for _, v := range fi {
fmt.Printf("v.Name(): %v\n", v.Name())
}
}
func testReadFile() {
b, _ := ioutil.ReadFile("a.txt")
fmt.Printf("string(b): %v\n", string(b))
}
func testWriteFile() {
ioutil.WriteFile("a.txt", []byte("hello world"), 0664)
}
func testTempFile() {
content := []byte("temporary file's content")
tmpfile, err := ioutil.TempFile("", "example")
if err != nil {
log.Fatal(err)
}
fmt.Printf("tmpfile.Name(): %v\n", tmpfile.Name())
// defer os.Remove(tmpfile.Name()) // clean up
if _, err := tmpfile.Write(content); err != nil {
log.Fatal(err)
}
if err := tmpfile.Close(); err != nil {
log.Fatal(err)
}
}
func main() {
// testReadAll()
// testReadDir()
// testReadFile()
// testWriteFile()
testTempFile()
}