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

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

開發(fā) 前端
本次章節(jié)我們主要學習文件操作的相關知識,主要分為讀取文件和寫入文件

[[375517]]

前言

Hey,大家好呀,我是碼農,星期八,這次咱們來說一下文件操作。

文件操作就簡單了,像打開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() 

執(zhí)行結果


可以發(fā)現(xiàn),根本就沒有讀取完,并且還亂碼了。

讀取整個文件

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

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

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

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

代碼

  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 每次讀取字節(jié) = make([]byte,128) 
  11.     for
  12.         n, err := fileObj.Read(每次讀取字節(jié)) 
  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(每次讀取字節(jié)[:n]) 
  21.         罐子 = append(罐子,每次讀取字符串) 
  22.     fmt.Println(罐子) 

執(zhí)行結果


會發(fā)現(xiàn)還是有亂碼,這是為啥???

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

那咋辦呢?沒辦法,默認的讀取文件就這么點功能,更多功能,盡在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) 

執(zhí)行結果


讀取整個文件

可能又有人說了,啊,星期八,我感覺還是麻煩,有沒有更簡單的辦法讀取文件,肯定有呀,一次性讀取所有呢?答案是肯定的,此時需要用到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)) 

執(zhí)行結果


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

寫入文件

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

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

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

寫入字節(jié)和寫入行

代碼

  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方法需要將字符串轉成字節(jié) 
  8.     fileObj.Write([]byte(w_content)) 
  9.     //WriteString直接寫入字符串 
  10.     fileObj.WriteString(w_content) 

執(zhí)行結果


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() 

執(zhí)行結果


ioutil寫文件

代碼

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

執(zhí)行結果


拷貝文件

拷貝文件,就是拷貝文件唄,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(目標文件,原文件) 

執(zhí)行結果


總結

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

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

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

能堅持別人不能堅持的,才能擁有別人不能擁有的。加油

 

責任編輯:姜華 來源: Go語言進階學習
相關推薦

2021-02-20 10:06:14

語言文件操作

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包開發(fā)技術

2021-09-29 10:00:07

Go語言基礎

2021-10-13 10:00:52

Go語言基礎

2020-10-22 11:15:47

Go語言變量
點贊
收藏

51CTO技術棧公眾號

波多野结衣50连登视频| 国产精品免费网站在线观看| 日韩午夜激情免费电影| 91精品国产91久久久久青草| 国产精品久久久久久久无码| 成人三级高清视频在线看| 亚洲一区网站| 欧美区一区二区三区| 亚洲精品在线免费| 国产在线视频你懂的| 欧美大奶一区二区| 色屁屁一区二区| 亚洲一区三区电影在线观看| 久操免费在线视频| 四虎影视国产精品| 免费精品视频在线| 免费av一区二区| 精品熟女一区二区三区| 成人啊v在线| 国产福利精品导航| 97精品免费视频| 欧美性猛交xxxx乱大交91| jizz一区二区三区| 99av国产精品欲麻豆| 亚洲欧美日韩在线高清直播| 日日噜噜夜夜狠狠| 亚洲精品国产suv一区| 希岛爱理av一区二区三区| 一本一道综合狠狠老| 国产中文字幕日韩| 国产一级黄色av| 国产超碰精品| 成人性生交大片| 色999日韩欧美国产| 久久久久亚洲av成人网人人软件| 日本韩国精品一区二区| 成人激情电影在线| 日韩精品最新网址| 在线观看一区欧美| 天堂视频中文在线| 亚洲福利免费| 精品电影一区二区三区| 国产精品视频一二三四区| 男男激情在线| 久久亚洲不卡| 亚洲国产精品字幕| 欧美一区二区中文字幕| 国产一级二级三级在线观看| 国产一区二区成人久久免费影院| 国产成人精品视频在线观看| 国产男男chinese网站| 国产精品视频一区视频二区 | 国产精品三区www17con| 任你操精品视频| 欧美三级电影在线| 91麻豆精品国产91久久久| 宅男一区二区三区| 黄色片在线看| 99re成人精品视频| 欧美亚洲伦理www| 精品无码人妻一区二区三区品| 91嫩草亚洲精品| 欧美日韩在线播| www精品久久| 四虎影院在线域名免费观看| 国产成人精品一区二| 国产欧美中文字幕| 在线观看毛片网站| 亚洲v在线看| 精品国产欧美一区二区五十路| 成人观看免费完整观看| heyzo中文字幕在线| 亚洲制服欧美中文字幕中文字幕| 裸体裸乳免费看| 国产chinasex对白videos麻豆| 在线看片日韩| 欧美大胆在线视频| 国产不卡在线观看视频| 成人综合专区| 少妇高潮久久77777| av在线免费播放网址| 希岛爱理av一区二区三区| 久久久精品视频成人| 美女伦理水蜜桃4| 福利一区三区| 宅男在线国产精品| 性生活在线视频| 大伊香蕉精品在线品播放| 婷婷国产v国产偷v亚洲高清| 国产精品无码人妻一区二区在线 | 欧美激情在线有限公司| 一本色道综合久久欧美日韩精品 | 国产九九在线观看| 97久久精品一区二区三区的观看方式| 亚洲小说欧美激情另类| 亚洲国产精品日韩| 超碰在线网址| 尤物av一区二区| 男女视频网站在线观看| 午夜av成人| 亚洲精品视频免费观看| 国产日韩av网站| 91精品xxx在线观看| 欧美久久久久久久久| www.日本少妇| av日韩电影| 欧美精品电影在线播放| 佐佐木明希电影| 第84页国产精品| 精品视频在线视频| 亚洲一区二区图片| 西瓜成人精品人成网站| www国产精品视频| 久久精品免费在线| 美女网站一区二区| 国产精品久久久久免费| 国产在线你懂得| 一区二区三区小说| 成人在线观看黄| 宅男网站在线免费观看| 99久久精品国产网站| 视频一区免费观看| av蜜臀在线| 337p亚洲精品色噜噜狠狠| 亚洲精品乱码久久久久久久| 国产午夜亚洲精品一级在线| 欧美一级片在线看| 极品粉嫩小仙女高潮喷水久久| 99精品全国免费观看视频软件| 午夜精品久久久久久久99黑人| 亚洲天堂手机版| 97久久精品人人做人人爽50路| 国产高清精品软男同| 日韩电影免费看| 在线综合视频播放| 免费网站在线高清观看| 91久久中文| 7777精品久久久大香线蕉小说| 97在线观看免费观看高清| 懂色av一区二区三区| 亚洲va综合va国产va中文| 蜜臀久久99精品久久一区二区| 欧美激情按摩在线| 国产熟女精品视频| 精品一区二区三区在线观看国产| 久久亚洲综合网| 欧美xxxx视频| 日韩一级黄色片| 日本一级片免费| 日韩国产精品久久久久久亚洲| 精品一卡二卡三卡四卡日本乱码 | 免费在线观看黄视频| 麻豆国产欧美日韩综合精品二区| 欧美一区免费视频| 成人福利电影| 精品动漫一区二区三区在线观看| 久久久一二三区| 国产黄色精品网站| 天堂av在线中文| 日韩一区二区三区免费视频| 日韩精品免费观看| 欧美亚洲天堂网| 成人av动漫在线| 久久久性生活视频| 精品按摩偷拍| 国产做受高潮69| 人成网站在线观看| 2019国产精品| 精品久久一二三| 神马日本精品| 2020国产精品视频| 天堂av在线资源| 一本在线高清不卡dvd| 国产免费一区二区三区网站免费| 欧美日韩爱爱| 日本a级片电影一区二区| 无码人妻精品一区二区50| 97精品电影院| 99久久国产宗和精品1上映| 免费久久精品| 国产精品美女久久久免费| 精品国产av一区二区| 亚洲另类在线一区| 国产精品熟妇一区二区三区四区| 亚洲国产第一| 欧美精品在线一区| 成人全视频免费观看在线看| 久久精品久久久久| 丰满大乳国产精品| 色综合久久久久| 日韩女同一区二区三区| 韩国精品在线观看| 99在线精品免费视频| 久久av免费| 成人国产精品一区二区| 国产区美女在线| 亚洲另类xxxx| 国产精品视频第一页| 亚洲444eee在线观看| theav精尽人亡av| 麻豆91精品91久久久的内涵| 欧美美女黄色网| 亚洲人成伊人成综合图片| 日韩亚洲欧美中文在线| 性生活免费网站| 色婷婷国产精品| 爱爱视频免费在线观看| 国产大片一区二区| 中文字幕无码不卡免费视频| 911精品美国片911久久久| 精品高清视频| 激情久久一区二区| 97国产精品久久| 麻豆最新免费在线视频| 日韩av一区在线观看| 一本色道久久综合精品婷婷| 午夜精品一区二区三区电影天堂 | 亚洲国产尤物| 久久久久国产精品免费| av在线免费一区| 一区二区三区精品久久久| 中文幕无线码中文字蜜桃| 国产一区二区三区精品视频| www.国产区| 中文精品电影| 天堂精品一区二区三区| 免费福利视频一区| 亚洲一区二区三区xxx视频| 亚洲av毛片成人精品| 欧美日韩不卡在线| 在线观看免费av片| 一区二区在线观看免费视频播放| 国产一区二区三区四区五区六区| 国产成人在线视频播放| www.这里只有精品| 免费视频一区| 日韩a∨精品日韩在线观看| 亚洲欧美在线专区| 亚洲黄色一区二区三区| 精品中文字幕一区二区三区四区 | 欧美一区二区三区粗大| 91亚洲男人天堂| 国产婷婷在线观看| 国产成人av电影在线| 中文字幕免费高清在线| 秋霞电影网一区二区| 欧美一区二区三区成人久久片| 136国产福利精品导航网址应用| 国产综合久久久久| 亚洲电影有码| 国产精品av在线| 欧美激情喷水| 欧美精品久久久久久久| 50度灰在线| 精品中文字幕视频| 午夜伦理大片视频在线观看| 欧美成人中文字幕在线| 中文字幕伦理免费在线视频| 久久精品人人做人人爽| 欧美成人三区| 日韩在线视频观看| 三区四区电影在线观看| 国产视频综合在线| 精品久久av| 国产视频久久久| 黄色在线播放| 最近中文字幕2019免费| 黄色av网站在线| 尤物九九久久国产精品的分类| av黄色在线观看| 久久精品色欧美aⅴ一区二区| 福利成人在线观看| 日韩中文字幕在线免费观看| 美女羞羞视频在线观看| 久久大大胆人体| 麻豆av在线免费观看| 欧美一级大片视频| 欧美伊人亚洲伊人色综合动图| 91最新在线免费观看| 超碰成人福利| 深田咏美在线x99av| 欧美日韩亚洲三区| 日本三级免费观看| 国产综合色精品一区二区三区| 中文字幕乱视频| 欧美国产日韩a欧美在线观看| 国内偷拍精品视频| 色悠悠久久综合| 99国产精品一区二区三区| 日韩成人中文字幕| 午夜在线视频| 97av在线播放| 99久久久成人国产精品| 久久久久久a亚洲欧洲aⅴ| 婷婷丁香综合| 欧美黄网站在线观看| 国产一区二区毛片| xxx在线播放| 亚洲午夜在线电影| 91av久久久| 精品爽片免费看久久| 免费在线观看av片| 日本道色综合久久影院| 免费一级欧美在线大片| 日本日本精品二区免费| 在线观看日韩av电影| 思思久久精品视频| 97aⅴ精品视频一二三区| 成人免费视频国产免费观看| 日韩欧美在线视频| 亚洲精品一区二区口爆| 日韩中文有码在线视频| 欧美freesex| 国产欧美一区二区在线播放| 国产精品7m凸凹视频分类| 99re在线视频免费观看| 成人av网站在线观看免费| 男人在线观看视频| 91电影在线观看| 三级av在线播放| 韩国美女主播一区| 亚洲精品不卡在线观看| 欧美 日韩 国产 在线观看| 日韩精品乱码av一区二区| 欧美在线一级片| 亚洲一二三四区不卡| www五月婷婷| 久久综合免费视频| 亚洲精品aaa| 一区二区不卡在线| 蜜桃av噜噜一区二区三区小说| 国产精品无码久久久久久| 岛国精品视频在线播放| 污视频网站免费观看| 国内精品中文字幕| 国偷自产av一区二区三区| 国产成人一二三区| 国产乱理伦片在线观看夜一区| 亚洲欧美精品久久| 欧美日本在线一区| 免费a在线看| 亚洲va久久久噜噜噜久久天堂| 91久久高清国语自产拍| 99精品999| 亚洲免费观看高清完整版在线观看 | 特种兵之深入敌后| 亚洲精品乱码久久久久久黑人| 国产欧美一级片| 欧美另类极品videosbestfree| 激情五月综合婷婷| 日韩亚洲欧美一区二区| 成人一区二区三区在线观看| 日本熟妇成熟毛茸茸| 日韩av在线一区二区| 久久久久久久| 无码免费一区二区三区免费播放| 麻豆精品在线看| 卡通动漫亚洲综合| 精品国精品国产尤物美女| 黄色美女视频在线观看| 久久99精品国产99久久| 久久久夜精品| 青青草华人在线视频| 91麻豆精品国产91久久久 | 欧美网站在线观看| 精品亚洲综合| 成人激情在线播放| 欧美性久久久| 中文字幕5566| 欧美日韩国产免费一区二区 | 国产精品自拍区| 中文字幕剧情在线观看一区| 激情偷乱视频一区二区三区| www.av视频| 亚洲第一免费网站| 欧美粗大gay| 国产成人精品免费看在线播放 | 亚洲自拍偷拍一区二区| 欧美性高清videossexo| av在线app| 蜜桃导航-精品导航| 激情五月婷婷综合网| 久久精品免费在线| 中文在线资源观看视频网站免费不卡| 91成人短视频在线观看| 国产精品无码一区二区在线| 中文字幕乱码亚洲精品一区| 国产女人高潮时对白| 57pao国产精品一区| 欧美电影《轻佻寡妇》| 性久久久久久久久久久| 欧美日韩激情一区二区| 国产网站在线| 国产精品无码乱伦| 99久久精品免费| 99精品视频在线播放免费| 日韩av快播网址| 欧美暴力喷水在线| av永久免费观看| 亚洲高清一二三区|