精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一篇文章帶你搞定Go語言基礎之文件操作

開發 后端
Hey,大家好呀,我是Go進階者,這次咱們來說一下文件操作。文件操作就簡單了,像打開word了,excel了,都是文件操作,當然,我們肯定是不能直接操作word的。 我們就從最簡單的普通文件開始叭!

[[382352]]

前言

Hey,大家好呀,我是Go進階者,這次咱們來說一下文件操作。

文件操作就簡單了,像打開word了,excel了,都是文件操作,當然,我們肯定是不能直接操作word的

我們就從最簡單的普通文件開始叭!

打開和關閉文件

  1. package main 
  2.  
  3. import "os" 
  4.  
  5. func main() { 
  6.     //os.Open是只讀模式 
  7.     fileObj, err := os.Open("永不退縮.txt"
  8.     if err != nil { 
  9.         panic(err) 
  10.     //關閉文件 
  11.     fileObj.Close() 
  12.     //一般情況下使用這種方式關閉文件 
  13.     defer fileObj.Close() 

注:如果你使用的是Goland,在學習文件操作這一塊時,盡量不要右擊運行,因為查找文件路徑不一樣

盡可能的編譯成.exe文件,這樣找的就是當前目錄

 

讀取文件

讀取指定大小

代碼

  1. func main() { 
  2.     //os.Open是只讀模式 
  3.     fileObj, err := os.Open("永不退縮.txt"
  4.     if err != nil { 
  5.         panic(err) 
  6.     var fileBytes = make([]byte,128) 
  7.     n, err := fileObj.Read(fileBytes) 
  8.     if err != nil { 
  9.         panic(err) 
  10.     fmt.Println(string(fileBytes[:n])) 
  11.     //一般情況下使用這種方式關閉文件 
  12.     defer fileObj.Close() 

執行結果

 

可以發現,根本就沒有讀取完,并且還亂碼了。

讀取整個文件

上述我們只讀取了128個字節,一個中文3個字節,128/3,除下標點符號,應該是40個左右,明顯不夠

那該怎么辦才能讀取所有呢???

上述我們只讀取了128個字節,我們可以在讀取128個字節啊

然后找個罐子將每次讀取的都裝進去,讀取完,裝完,完美

代碼

  1. func main() { 
  2.     //os.Open是只讀模式 
  3.     fileObj, err := os.Open("永不退縮.txt"
  4.     if err != nil { 
  5.         panic(err) 
  6.     //一般情況下使用這種方式關閉文件 
  7.     defer fileObj.Close() 
  8.  
  9.     var 罐子 []string 
  10.     var 每次讀取字節 = make([]byte,128) 
  11.     for
  12.         n, err := fileObj.Read(每次讀取字節) 
  13.         //err == io.EOF表示讀完了,一定要放在err != nil前面 
  14.         if err == io.EOF { 
  15.             break 
  16.         } 
  17.         if err != nil { 
  18.             panic(err) 
  19.         } 
  20.         var 每次讀取字符串 = string(每次讀取字節[:n]) 
  21.         罐子 = append(罐子,每次讀取字符串) 
  22.     fmt.Println(罐子) 

執行結果

 

會發現還是有亂碼,這是為啥???

這是因為我們每次都是按照字節來讀取一部分,一部分的,但是中文是3個字節,所有有時候可能切錯了,就出現了亂碼

那咋辦呢?沒辦法,默認的讀取文件就這么點功能,更多功能,盡在bufio

bufio

bufio

可以理解為原生file操作的一個加強版,更牛叉,功能更多

還是上述這個文件,看看如何完美讀取

代碼

  1. func main() { 
  2.     //os.Open是只讀模式 
  3.     fileObj, err := os.Open("永不退縮.txt"
  4.     if err != nil { 
  5.         panic(err) 
  6.     //一般情況下使用這種方式關閉文件 
  7.     defer fileObj.Close() 
  8.  
  9.     //需要將文件對象傳進去 
  10.     reader := bufio.NewReader(fileObj) 
  11.     for
  12.         //按行讀取 
  13.         row, err := reader.ReadString('\n')//參數是字符,不是字符串 
  14.         if err == io.EOF { 
  15.             break 
  16.         } 
  17.         if err != nil { 
  18.             panic(err) 
  19.         } 
  20.         fmt.Printf("%v",row) 

執行結果

 

讀取整個文件

可能又有人說了,啊,星期八,我感覺還是麻煩,有沒有更簡單的辦法讀取文件,肯定有呀,一次性讀取所有呢?答案是肯定的,此時需要用到ioutil包。

代碼

  1. func main() { 
  2.     //os.Open是只讀模式 
  3.     bytes, err := ioutil.ReadFile("永不退縮.txt"
  4.     if err != nil { 
  5.         panic(err) 
  6.     fmt.Println(string(bytes)) 

執行結果

 

但是這種有個缺點,只能讀取小文件,要是來個10G文件也這樣玩,保證電腦死翹翹!!!

寫入文件

寫入文件的話,我們就需要使用openFile這個方法打開文件

在開始之前呢,先記一下下面幾種模式

  • os.O_WRONLY 只寫
  • os.O_RDONLY 只讀
  • os.O_CREATE 如果文件不存在,則創建文件
  • os.O_RDWR 可讀可寫
  • os.O_TRUNC 清空
  • os.O_APPEND 追加文件

寫入字節和寫入行

代碼

  1. func main() { 
  2.     fileObj, err := os.OpenFile("臨時.txt", os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666) 
  3.     if err != nil { 
  4.         panic(err) 
  5.     defer fileObj.Close() 
  6.     w_content := "我是臨時表內容\n" 
  7.     //Write方法需要將字符串轉成字節 
  8.     fileObj.Write([]byte(w_content)) 
  9.     //WriteString直接寫入字符串 
  10.     fileObj.WriteString(w_content) 

執行結果

 

bufio寫文件

代碼

  1. func main() { 
  2.     fileObj, err := os.OpenFile("臨時.txt", os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666) 
  3.     if err != nil { 
  4.         panic(err) 
  5.     defer fileObj.Close() 
  6.     w_content := "我是臨時表內容\n" 
  7.     writer := bufio.NewWriter(fileObj) 
  8.     writer.Write([]byte(w_content)) 
  9.     writer.WriteString(w_content) 
  10.     //寫完必須刷入 
  11.     writer.Flush() 

執行結果

 

ioutil寫文件

代碼

  1. func main() { 
  2.     w_content := "我是臨時表內容\n" 
  3.     err := ioutil.WriteFile("臨時.txt", []byte(w_content), 0666) 
  4.     if err != nil { 
  5.         panic(err) 

執行結果

 

拷貝文件

拷貝文件,就是拷貝文件唄,A文件拷貝到B文件中

其實他的底層還是打開倆文件,把A文件內容寫入到B文件中

代碼

  1. func main() { 
  2.     原文件, err := os.Open("永不退縮.txt"
  3.     if err != nil { 
  4.         panic(err) 
  5.     defer 原文件.Close() 
  6.     目標文件, err := os.OpenFile("臨時.txt", os.O_WRONLY|os.O_CREATE, 0666) 
  7.     if err != nil { 
  8.         panic(err) 
  9.     defer 目標文件.Close() 
  10.     //拷貝文件 
  11.     io.Copy(目標文件,原文件) 

執行結果

 

總結

本次章節我們主要學習文件操作的相關知識,主要分為讀取文件和寫入文件

讀取文件都有原生方法讀寫和bufio加強讀寫和ioutil一次性讀寫

推薦大家使用bufio這個包操作文件,帶有緩沖功能,性能更好!!

本文轉載自微信公眾號「Go語言進階學習」,可以通過以下二維碼關注。轉載本文請聯系Go語言進階學習公眾號。

 

責任編輯:武曉燕 來源: Go語言進階學習
相關推薦

2021-01-13 08:40:04

Go語言文件操作

2020-12-23 08:39:11

Go語言基礎技術

2022-02-16 10:03:06

對象接口代碼

2020-11-05 09:58:16

Go語言Map

2020-11-11 10:52:54

Go語言C語言

2020-10-22 08:33:22

Go語言

2022-04-27 10:01:43

切片Go封裝

2020-12-27 10:15:44

Go語言channel管道

2020-10-25 07:33:13

Go語言

2020-12-30 09:04:32

Go語言TCPUDP

2021-10-09 07:10:31

Go語言基礎

2020-10-23 08:38:19

Go語言

2020-12-09 09:59:32

Go語言技術

2021-11-03 10:02:07

Go基礎函數

2020-12-07 05:59:02

語言Go接口

2021-10-30 10:43:04

語言Go函數

2021-02-27 10:20:18

Go語言flag包開發技術

2021-09-29 10:00:07

Go語言基礎

2021-10-13 10:00:52

Go語言基礎

2020-10-22 11:15:47

Go語言變量
點贊
收藏

51CTO技術棧公眾號

中文字幕精品—区二区四季| 99日韩精品| 日韩西西人体444www| 精品无码一区二区三区爱欲| 日韩在线免费播放| 久久精品国产在热久久| 欧美黑人巨大精品一区二区| 免费一级做a爰片久久毛片潮| 婷婷激情成人| 欧美日韩综合视频网址| 国产系列第一页| 性xxxx搡xxxxx搡欧美| 精品亚洲国产成人av制服丝袜| 久久青草福利网站| 一本色道久久88| 日韩系列在线| 欧美成va人片在线观看| 91蝌蚪视频在线观看| 精品精品导航| 综合分类小说区另类春色亚洲小说欧美| 激情伦成人综合小说| 一级黄色片在线看| 欧美一级二区| 久久久在线观看| 青花影视在线观看免费高清| 亚洲精品无吗| 精品国产青草久久久久福利| 亚洲 国产 图片| 另类专区亚洲| 午夜激情一区二区三区| 日韩中文字幕在线不卡| 91精品专区| 国产无人区一区二区三区| 国产精品国色综合久久| 国产女人18毛片水18精| 免费成人在线观看视频| 国产成人黄色av| 日韩欧美a级片| 国内久久精品| 欧美国产日韩在线| 婷婷色中文字幕| 国产高清久久| 深夜福利91大全| 人人爽人人爽人人片| 亚洲va久久| 日韩av网站导航| 国产又粗又长又爽| 77成人影视| 精品欧美一区二区在线观看| 原创真实夫妻啪啪av| 伊人久久大香伊蕉在人线观看热v 伊人久久大香线蕉综合影院首页 伊人久久大香 | 欧美欧美在线| 91精品国产福利在线观看| 亚洲视频第二页| 狠狠久久伊人中文字幕| 欧美性色黄大片| 日韩av片网站| 天天综合在线观看| 欧美一区二区视频在线观看2020| 中文字幕资源在线观看| av国产精品| 日韩一级免费观看| 国产av一区二区三区传媒| 成人自拍在线| 亚洲国产日韩欧美在线图片| 国产精品久久久免费观看| 青草久久视频| 国产亚洲精品久久久久久| 亚洲精品视频网址| 91av精品| 国a精品视频大全| 99久热在线精品996热是什么| 久久av最新网址| 国产精品国产三级国产aⅴ浪潮| 欧美日韩 一区二区三区| 老司机午夜精品| 3d精品h动漫啪啪一区二区| 亚洲av无码国产精品久久不卡 | 性久久久久久久久久| 国产亚洲欧美日韩在线观看一区二区 | 国产一区二区三区四区三区四| 欧美日韩国产成人高清视频| 日本在线视频中文字幕| 日韩精品91亚洲二区在线观看| 国产美女精彩久久| 午夜久久久久久久久久| 26uuuu精品一区二区| 性欧美videosex高清少妇| 在线看三级电影| 欧美日韩中文字幕综合视频| 天堂av在线8| 久久国产精品色av免费看| 永久免费毛片在线播放不卡| 真实国产乱子伦对白在线| 国产精品日本| 18成人在线| 国产在线免费观看| 亚洲黄色录像片| 黑人糟蹋人妻hd中文字幕| avtt久久| 亚洲午夜未满十八勿入免费观看全集| 日本 欧美 国产| 日韩香蕉视频| 亚洲a∨日韩av高清在线观看| 欧美一区二区在线观看视频| 国产欧美日韩视频在线观看| 成人黄色片免费| 国精产品一区一区三区四川| 亚洲精品一区二区精华| 人人艹在线视频| 亚洲精选久久| 亚洲最大成人免费视频| freemovies性欧美| 亚洲成人精品一区| 天堂在线一区二区三区| 啪啪亚洲精品| 午夜精品视频在线| 国产免费一区二区三区最新不卡 | 手机在线免费看毛片| 亚洲中字在线| 国产精品一区二区av| 黄色精品在线观看| 欧美视频精品在线观看| 菠萝菠萝蜜网站| 欧美成人国产| 亚洲va欧美va国产综合久久| 色综合久久影院| 日韩欧美国产一区二区| 精品人妻一区二区免费| 亚洲精品电影| 成人精品一区二区三区电影免费 | 精品久久av| 欧美日韩国产一区二区三区| 国产成人av片| 综合视频在线| 亚洲一区二区三区视频播放| 欧美成人性生活视频| 欧美亚洲高清一区| 四虎国产精品成人免费入口| 久久一区亚洲| 欧美日韩精品一区| 波多野结衣久久精品| 亚洲缚视频在线观看| 久久久久久av无码免费网站| 国产一区二区久久| 国产精品久久成人免费观看| 伊人亚洲精品| 久久午夜a级毛片| 国产喷水吹潮视频www| 一区视频在线播放| 精品一区精品二区| 免费在线观看污污视频| 亚洲精品aaa| 精品国产依人香蕉在线精品| 91精品国产乱码久久| 中文字幕一区二区三区四区不卡| 一本岛在线视频| 久久精品av| 亚洲iv一区二区三区| 2021国产在线| 精品国产亚洲在线| 毛片视频网站在线观看| 久久久综合精品| 免费看污污网站| 国产精品麻豆久久| 91久久爱成人| 理论不卡电影大全神| 亚洲欧美综合另类中字| 国产三级理论片| 国产精品福利一区二区三区| 日日夜夜精品视频免费观看| 欧美午夜国产| 开心色怡人综合网站| 欧美韩国亚洲| 久热精品视频在线观看| 丰满人妻一区二区三区免费视频 | 亚洲一区在线直播| 99热这里有精品| 国语对白做受69| 国产视频二区在线观看| 91麻豆精品国产自产在线观看一区| 青青草成人免费| 99re在线精品| 在线看的黄色网址| 一区在线免费| 杨幂一区欧美专区| 韩国精品福利一区二区三区| 国产成人精品电影| 亚洲h片在线看| 日韩精品免费在线| 国产在线一区二区三区播放| 国产精选久久久| 天天影视色香欲综合网老头| 欧美巨胸大乳hitomi| 福利一区二区在线观看| 国产裸体舞一区二区三区| 久久久久久久久久久久久久| 精品欧美一区二区在线观看视频 | 日韩欧美国产一二三区| 欧美啪啪小视频| 欧美精品福利| 日韩欧美三级| 97激碰免费视频| 尤物视频在线免费观看| 精品99一区二区| 中文资源在线播放| 五月婷婷综合网| 我要看一级黄色录像| 2024国产精品| 善良的小姨在线| 蜜臀久久久久久久| 国产一区二区网| 在线看片不卡| 天堂资源在线亚洲视频| 国产精品45p| 91老司机在线| 丁香久久综合| 欧美资源在线观看| 2021中文字幕在线| 精品国产欧美一区二区五十路| 日本一级在线观看| 精品免费99久久| 97人妻人人澡人人爽人人精品| 欧美午夜精品在线| 国产污视频在线看| 亚洲精品久久久蜜桃| 免费看裸体网站| 91片在线免费观看| 国产a级黄色片| 国产盗摄一区二区三区| 亚洲精品免费一区亚洲精品免费精品一区 | 精品亚洲二区| 成人免费xxxxx在线观看| 欧美极品免费| 日本精品视频在线观看| 精品捆绑调教一区二区三区| 欧美精品aaa| 色屁屁www国产馆在线观看| 久久伊人精品一区二区三区| 免费超碰在线| www.精品av.com| 秋霞午夜理伦电影在线观看| 最新国产精品亚洲| 91涩漫在线观看| www.欧美三级电影.com| 日本三级在线视频| 久久精品精品电影网| 日本三级视频在线观看| 久久久成人精品视频| 黄网站在线免费| 米奇精品一区二区三区在线观看| 老司机在线永久免费观看| 久久精品国产2020观看福利| 黄视频在线观看网站| 久久影院中文字幕| 午夜av在线播放| 国语对白做受69| 中文字幕乱码在线播放| 日本高清不卡的在线| 美女网站视频一区| 国产精品福利网| 成人51免费| 国产精品日韩一区二区三区| 天天躁日日躁成人字幕aⅴ| 欧美日韩亚洲综合一区二区三区激情在线 | 日本一级二级视频| 一区二区三区四区在线播放 | 亚洲www色| 97在线视频免费| 视频在线日韩| 成人情趣片在线观看免费| 综合激情久久| 欧美人xxxxx| 婷婷另类小说| 国产免费黄色一级片| 鲁大师成人一区二区三区| av网站在线不卡| 国产精品一二二区| 丰满圆润老女人hd| 国产精品国产馆在线真实露脸| 黄色一级片中国| 精品国产乱码久久久久久虫虫漫画 | 国产一区白浆| 中文字幕第100页| 国产 日韩 欧美大片| xxxxx在线观看| 亚洲美女区一区| 久久精品视频7| 欧美成人一区二区| 黄网在线观看| 欧美日本亚洲视频| 一区二区三区短视频| 91久久综合亚洲鲁鲁五月天| 五月天亚洲色图| 波多野结衣三级在线| 亚洲视频大全| 欧美国产日韩另类 | 久久精品www人人爽人人| 欧美午夜影院在线视频| 国产精品一区二区黑人巨大| 亚洲精品理论电影| 黄色网址在线免费播放| 57pao国产成人免费| 免费一级欧美片在线观看网站| 麻豆传媒一区二区| 中文字幕一区二区三区在线视频| 久久久久狠狠高潮亚洲精品| 国产福利91精品一区二区三区| 国产真实乱人偷精品人妻| 亚洲自拍与偷拍| 一级视频在线播放| 亚洲精品一区二区网址 | 欧美亚洲视频一区二区| 久久国产精品美女| 亚洲欧美日韩不卡一区二区三区| 99在线精品免费视频九九视| 91网址在线观看精品| 欧美激情自拍偷拍| 奇米影视第四色777| 日韩一区二区免费视频| 91社区在线观看| 国产极品精品在线观看| 亚洲精品亚洲人成在线| 国产原创popny丨九色| 国产经典欧美精品| 九九这里只有精品视频| 91福利国产精品| 日本韩国一区| 91极品女神在线| av在线亚洲色图| 天天做天天爱天天高潮| 蜜桃av一区二区在线观看| 六月婷婷七月丁香| 欧美午夜无遮挡| 日本福利午夜视频在线| 97视频免费观看| 国产精品调教视频| 亚洲熟妇无码av在线播放| 国产一区二区在线观看视频| 成年人视频软件| 欧美天天综合网| 99青草视频在线播放视| 国产精品久久久久久网站| 少妇精品久久久一区二区三区| 日韩a在线播放| 91在线观看一区二区| 五月天婷婷久久| 亚洲欧洲在线免费| 制服诱惑亚洲| 亚洲天堂电影网| 国产一区二区影院| 欧美三级在线免费观看| 日韩视频免费观看高清完整版| av网站在线看| 国产精品一区而去| 一区二区三区福利| www.久久国产| 欧美日韩国产一二三| 免费av网站在线看| 亚洲最大成人在线| 亚洲三级毛片| 一道本在线观看| 欧美巨大另类极品videosbest| 成人毛片av在线| 国产伦理一区二区三区| 麻豆精品网站| 日本污视频网站| 欧美一区二区私人影院日本| 97在线视频免费观看完整版| 精品一区二区三区免费毛片| 日韩av一级电影| 国产少妇在线观看| 亚洲国产日韩欧美在线99| 亚洲mmav| 日本一区二区三区四区五区六区| 大桥未久av一区二区三区中文| www欧美在线| 日韩在线观看免费网站| 中文字幕一区日韩精品 | 国产精品一区专区| 国产在线精品观看| 一本色道久久综合亚洲精品小说 | 久久久精品五月天| 久草福利资源在线| 精品国产人成亚洲区| jizz亚洲女人高潮大叫| 超碰超碰超碰超碰超碰| 91美女蜜桃在线| 国产绿帽刺激高潮对白| 97激碰免费视频| 亚洲欧美网站在线观看| 漂亮人妻被黑人久久精品| 欧美色爱综合网| 91超碰在线播放| 在线视频不卡一区二区三区| av色综合久久天堂av综合| 亚洲视频在线观看一区二区| 国内精品400部情侣激情| 欧美3p视频| aaaaa一级片|