2020/06/08
- ** 今日記憶 Package os ioutil**
package main
import (
"fmt"
"io/ioutil"
"os"
"strings"
)
func main() {
// 讀取檔案中的所有資料 無需手動關閉開啟的檔案
fileName := "/Users/gaoyongli/sites/Learn-golang/file.txt"
data, err := ioutil.ReadFile(fileName)
fmt.Println(err)
fmt.Println(string(data)) // abcdefghijABC
// 寫入資料 (寫入之前會先清空這個檔案)
fileName1 := "/Users/gaoyongli/sites/Learn-golang/files.txt"
s1 := "你好 hello world "
error := ioutil.WriteFile(fileName1, []byte(s1), os.ModePerm)
fmt.Println(error) // nil
// ReadAll() s2 := "hello world"
r1 := strings.NewReader(s2)
data1, err1 := ioutil.ReadAll(r1)
fmt.Println(err1)
fmt.Println(string(data1))
// 讀取當前目錄下的檔案(不保含子目錄下目錄)
dirName := "/Users/gaoyongli/sites/Learn-golang"
fileInfo, err := ioutil.ReadDir(dirName)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(len(fileInfo)) // 我的目錄下 14 項, 隱藏檔案也能查到
for i := 0; i < len(fileInfo); i++ {
fmt.Printf("第 %d 個檔名稱: %s,是不是目錄:%t\n", i, fileInfo[i].Name(), fileInfo[i].IsDir())
/**
第 0 個檔名稱: .DS_Store,是不是目錄:false
第 1 個檔名稱: .git,是不是目錄:true
*/
}
// 建立臨時目錄(定義的名字和隨機生成的字串) 建立臨時檔案
dir, err := ioutil.TempDir("/Users/gaoyongli/sites/Learn-golang", "test")
if err != nil {
fmt.Println(err)
return
}
defer os.Remove(dir) // 不用就刪除
fmt.Println(dir) // /Users/gaoyongli/sites/Learn-golang/test441916090
dirFile, err := ioutil.TempFile(dir, "test")
if err != nil {
fmt.Println(err)
return
}
defer os.Remove(dirFile.Name()) // 不用就刪除
fmt.Println(dirFile.Name()) // /Users/gaoyongli/sites/Learn-golang/test441916090/test359195345
}
順便佛系一下用 go 做做 leetcode 的練習題同步到了 GitHub 大家也可以看看。
一步一個腳印,穩紮穩打,重新出發!從基本的 Golang Packages 記憶開始,堅持 ing!
本作品採用《CC 協議》,轉載必須註明作者和本文連結