go處理文件
1. ioutil讀寫文件
(1)讀文件
2行代碼就完成了文件的讀取并顯示。
9行:使用ioutil.ReadFile讀取"demo1.txt"文件,文件名要求是字符串類型,返回值有2個,第1個是字節集類型結果,第二個是返回的錯誤結果,沒有錯誤返回nil。
10行:将字節集轉換成字符串,并輸出控制台結果。
(2)創建文件,并寫入内容
創建文件就要了解一下文件權限。
下面舉個示例
8行:創建字節集内容,并賦給變量bytes
9行:ioutil.WriteFile(),作用寫文件,有2個參數,第一個參數是文件名,string類型,第二個是内容,字節集類型,第三個是文件權限,fs.FileMode類型,通常用數字類型代替,返回值是error類型。
(3)列出目錄内容
執行結果
通過示例可以看出,infos, _ := ioutil.ReadDir("./"), ioutil.ReadDir提供了讀取目錄的功能,參數隻有1個,就是目錄名,類型是string,返回值有2個,第一個是[]fs.FileInfo類型,第2個是error類型。
每個fs.FileInfo都有6個方法。
info.Name(), 文件名
info.Size(), 文件的大小
info.Mode(), 文件權限
info.ModTime(), 文件修改時間
info.IsDir(), 是否是目錄
info.Sys(), 數據源
(4)文件内容的複制
9行、10行:分别打開原文件src、dst,OpenFile有3個參數,第1個是文件名,類型是string,第2個是文件标志,指定讀寫、追加、創建等功能,第3個功能是設置權限。返回值有2個,第1個是文件類型*File,第2個是error類型。
15行:io.Copy(dst,src)。Copy有2個參數,第1個是目标,類型是Writer,第2個是原文件,類型是Reader。
執行前如下
執行後:
(5)删除文件
Remove函數有1個參數,就是文件名,類型是string,返回值的類型是error,删除成功返回nil。
執行結果如下:
(6)讀取JSON文件
17行: ioutil.ReadFile(),讀取文件内容,參數為文件名,類型為string,返回值有2個,第一個是結果的字節集,第二個的類型是error。
18行:json.Unmarshal,解碼json文件,有2個參數,第1個是需要解碼的字節集,類型是[]byte,第2個參數是傳遞的目标,這裡用指針類型。返回值的類型是error。
執行結果如下:
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!