精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

99国内精品久久久久久久软件| 中文字幕国产亚洲2019| 欧美人成在线观看| 污视频在线免费观看| 久久亚洲精选| 久久久精品欧美| 欧美肉大捧一进一出免费视频| 毛片无码国产| 亚洲人吸女人奶水| 久久精品国产精品青草色艺| 中文字幕在线观看国产| 欧美精品自拍| 永久免费看mv网站入口亚洲| 精产国品一区二区三区| 在线免费日韩片| 亚洲精品国产成人久久av盗摄| 国产一区二区精品在线| 亚洲一区二区色| 最新日韩av| 日韩在线不卡视频| 亚洲黄色免费在线观看| 国产精品1区在线| 在线观看日韩国产| 国产96在线 | 亚洲| 天天影视久久综合| 成人夜色视频网站在线观看| 国产欧美一区二区三区在线看 | 欧美日韩黄色一级片| 免费大片黄在线观看视频网站| a级高清视频欧美日韩| 成人激情春色网| 亚洲av无码精品一区二区| 一区二区自拍| 欧美精品少妇videofree| 欧美日韩生活片| 亚洲尤物av| 亚洲高清久久网| 99热这里只有精品2| 欧美日韩尤物久久| 欧美日韩一二三四五区| 久久久久99精品成人片| 日韩av激情| 亚洲欧美福利一区二区| 偷拍盗摄高潮叫床对白清晰| 成人18在线| 国产欧美精品一区二区三区四区 | 国产精品综合网站| 一级黄色在线视频| 久久久久久夜| 日本不卡视频在线播放| 日本免费在线观看视频| 亚洲免费综合| 欧美亚洲成人网| 久久青青草视频| 亚洲一区二区网站| 97超级碰在线看视频免费在线看| 九热这里只有精品| 99精品国产福利在线观看免费| 久久久亚洲天堂| 日本三级一区二区| 亚洲欧洲一区| 欧美亚洲第一区| 天天射天天干天天| 蜜桃视频在线观看一区| 国产精品一区=区| 国产精品视频久久久久久| 国产在线视频一区二区三区| 成人在线中文字幕| 亚洲va欧美va| 99re热这里只有精品免费视频| 久久香蕉综合色| 国产一级片在线| 国产精品成人网| 菠萝蜜视频在线观看入口| 国产桃色电影在线播放| 欧美日韩一区二区三区| 美女一区二区三区视频| 成人污版视频| 亚洲精品一区二区三区影院 | 国产1区2区在线| 免费观看成人性生生活片 | www.狠狠干| av一区二区久久| 日本在线高清视频一区| 中文字幕日本在线| 亚洲一区二区三区激情| 37pao成人国产永久免费视频| 福利一区和二区| 欧美成人艳星乳罩| 青青草视频成人| 91精品天堂福利在线观看| 97视频在线观看免费| 伊人成年综合网| 国产精品18久久久久| 久久久久久久久一区二区| 91精品专区| 亚洲国产精品久久不卡毛片 | 欧美123区| 欧美一级二级三级蜜桃| 欧美老熟妇乱大交xxxxx| 999国产精品999久久久久久| 韩国v欧美v日本v亚洲| 中文字幕有码视频| 97成人超碰视| 黄色网zhan| 日本欧美一区| 亚洲精品电影网在线观看| 麻豆一区在线观看| 午夜宅男久久久| 99久热re在线精品996热视频| 成人在线免费看| 污片在线观看一区二区| 久久久九九九热| 欧美一区电影| 午夜精品99久久免费| 国产又粗又长又黄| 久久久99精品久久| 欧美成人三级在线视频| 国产精品美女久久久久| 国产亚洲精品美女| 国产综合精品视频| 成人av网址在线观看| 一区二区三区日韩视频| 欧美三区四区| 国产视频综合在线| 日本免费观看视| 国产精品一区三区| youjizz.com亚洲| 78精品国产综合久久香蕉| 日韩av影片在线观看| 久草资源在线视频| 国产剧情一区二区三区| 一区二区三区电影| 国产激情欧美| 国产亚洲精品久久久久久| 久久久久亚洲av成人毛片韩| bt7086福利一区国产| 成人一级生活片| 香蕉大人久久国产成人av| 日韩一区二区三区在线播放| 夜夜躁日日躁狠狠久久av| 91蜜桃视频在线| 亚洲美免无码中文字幕在线 | 亚洲精品第一区二区三区| 免费成人美女女| 国产午夜精品一区二区三区| 黄瓜视频在线免费观看| 国产清纯白嫩初高生在线观看91 | 国产乱淫av一区二区三区| 伊人久久大香线蕉综合75| 成人午夜sm精品久久久久久久| 亚洲日本成人网| 日日骚av一区二区| 久久久久高清精品| 五月婷婷狠狠操| 欧美xxxxx视频| 亚洲va欧美va在线观看| 大片免费在线观看| 日韩精品一区二区三区视频播放 | 日韩精品卡通动漫网站| 新67194成人永久网站| 欧美乱偷一区二区三区在线| 日韩免费福利视频| 最近2019中文字幕大全第二页| 欧美一级做a爰片免费视频| 国产精品每日更新在线播放网址 | 99热精品一区二区| 欧美在线观看成人| 国产欧美日韩在线观看视频| 国产精品久久婷婷六月丁香| 天天在线视频色| 欧美变态tickle挠乳网站| 日本特黄特色aaa大片免费| 2022国产精品视频| 欧美成人福利在线观看| 欧美成人中文| 久久综合九色综合网站| 精品亚洲a∨| 久久久久久久电影一区| 欧美婷婷久久五月精品三区| 欧美精品日韩综合在线| 精品午夜福利在线观看| 国产欧美一区二区三区网站| 91小视频在线播放| 亚洲综合国产激情另类一区| 亚洲五月六月| 免费日韩一区二区三区| 国产欧亚日韩视频| 岛国av免费在线观看| 亚洲天堂第一页| 精品久久久中文字幕人妻| 色网综合在线观看| 免费在线视频观看| 国产喷白浆一区二区三区| 国产成人av片| 奇米影视7777精品一区二区| 成年人网站国产| 97国产成人高清在线观看| 好看的日韩精品视频在线| 在线观看亚洲精品福利片| 国产91精品久久久| 青草视频在线免费直播| 在线观看国产精品淫| 蜜桃视频在线观看www| 精品视频在线看| 毛片在线免费视频| 亚洲专区一二三| 国产福利在线导航| 91麻豆国产在线观看| 91香蕉视频在线观看视频| 日韩国产高清在线| 久久99中文字幕| 国产精品成人a在线观看| 欧美精品亚洲| 激情亚洲另类图片区小说区| 91免费精品国偷自产在线| gogo亚洲高清大胆美女人体| 久久人人看视频| aa在线视频| www日韩中文字幕在线看| 久久精品蜜桃| 日韩精品视频免费| 国产成人无码www免费视频播放| 欧美色精品在线视频| 99精品人妻国产毛片| 午夜精品久久久久久久久| 久久久国产成人| 一区二区三区高清不卡| 亚洲伦理一区二区三区| 国产精品无遮挡| 天天操天天干天天操天天干| 久久久综合九色合综国产精品| 白嫩情侣偷拍呻吟刺激| 国产69精品久久久久777| 交换做爰国语对白| 国产一区在线看| 天堂在线中文在线| 久久成人免费网| 亚洲午夜精品一区| 久久国产欧美日韩精品| 超碰在线人人爱| 美女视频黄久久| mm131国产精品| 免费观看在线综合色| 亚洲综合欧美激情| 美美哒免费高清在线观看视频一区二区| 亚洲乱码国产一区三区| 石原莉奈一区二区三区在线观看| 国产真实乱子伦| 久久免费黄色| www.精品在线| 国产制服丝袜一区| 免费啪视频在线观看| 成人精品免费看| a级在线观看视频| 久久久久久久久蜜桃| 欧美人与性囗牲恔配| 国产日韩高清在线| 欧美88888| 亚洲综合一二区| 西西44rtwww国产精品| 欧美日韩国产精品一区二区不卡中文| 日本天堂网在线| 欧美在线小视频| 91影院在线播放| 精品国产一区二区三区久久久蜜月| 成人午夜视频一区二区播放| 亚洲国产精品va| 国产在线一二三区| 久久视频这里只有精品| 色爱综合区网| 欧洲亚洲免费视频| 欧美黄页在线免费观看| 亚洲精品日韩av| 美女网站色精品尤物极品姐弟| 欧美成ee人免费视频| 99久久精品费精品国产风间由美| 日韩欧美一级在线| 久久狠狠婷婷| theporn国产精品| 成人短视频下载| 在线观看免费小视频| 亚洲精品高清视频在线观看| 免费看日韩毛片| 欧美精品在线一区二区| 蜜桃久久一区二区三区| 在线视频中文亚洲| 精灵使的剑舞无删减版在线观看| 日韩av免费看| 精品午夜视频| 欧洲精品国产| 伊人精品在线| www.超碰97.com| 久久综合九色综合久久久精品综合| 永久免费看片视频教学| 午夜精品国产更新| 一级特黄aaa大片| 精品视频在线播放色网色视频| 男人在线资源站| 欧美怡红院视频一区二区三区 | 国产精品久久7| 欧美日韩老妇| 欧美在线一区视频| 久久99精品视频| 波多野结衣av在线观看| 一卡二卡欧美日韩| 亚洲熟女乱色一区二区三区久久久| 亚洲爱爱爱爱爱| 国产淫片在线观看| 国产精品99一区| 日韩高清影视在线观看| 国产91porn| 精品一区二区三区免费观看| 偷拍女澡堂一区二区三区| 一区二区三区国产| 国产精品美女一区| 国产一区二区三区视频| 手机在线观看av| 国产成人av一区二区三区| 香蕉精品视频在线观看| 韩国中文字幕av| 久久久久久久久岛国免费| 国产精品变态另类虐交| 日韩一区二区在线看| 蜜桃视频网站在线观看| 国产精品久久久久久av下载红粉| 美女少妇全过程你懂的久久| 亚洲国产成人精品无码区99| 国产成人av在线影院| 69av视频在线| 日韩欧美综合在线| www免费视频观看在线| 成人a免费视频| 天天色天天射综合网| 自拍偷拍一区二区三区四区| 国产欧美一区二区精品秋霞影院 | 91麻豆精品国产综合久久久久久| av资源在线观看免费高清| 国产精品福利久久久| 经典一区二区| 九九九在线观看视频| 国产欧美一区二区精品性色超碰| www.日韩一区| 最新亚洲国产精品| 四虎国产精品免费久久| 亚洲一区高清| 激情综合色播五月| 成人免费视频网站入口::| 日韩亚洲欧美中文三级| 1769免费视频在线观看| 成人在线看片| 亚洲精品偷拍| 右手影院亚洲欧美| 在线观看日韩精品| 麻豆系列在线观看| 99精品欧美一区二区三区| 亚洲国产mv| 女人又爽又黄免费女仆| 欧美亚洲综合久久| 国产网友自拍视频导航网站在线观看 | 一区二区三区四区免费视频| 韩国一区二区视频| 精品亚洲永久免费| 亚洲精品自拍视频| 成人亚洲网站| 好吊色这里只有精品| 波多野结衣一区二区三区| 波多野结衣啪啪| 久久精品国产96久久久香蕉| 一区二区三区高清在线观看| 国产精品网站免费| 亚洲国产精品v| 国产精品久久影视| 久久久久久久久久久网站| 婷婷综合电影| 手机av在线网| 精品久久久久久亚洲精品| 1pondo在线播放免费| 99re视频在线播放| 日韩国产精品久久久| 特级片在线观看| 亚洲小视频在线观看| 精品一区二区三区中文字幕在线 | 欧美一卡2卡3卡4卡无卡免费观看水多多 | 久久人人爽人人爽人人片亚洲| 超碰97久久| 日日躁夜夜躁aaaabbbb| 亚洲在线观看免费视频| 国产网站在线播放| 成人自拍爱视频| 日韩av一二三| 国产大片中文字幕| 中文字幕精品—区二区| 久久99国产精品久久99大师 | 少妇久久久久久| 日韩美女国产精品| 少妇愉情理伦片bd| 日本韩国精品一区二区在线观看| 1区2区在线观看| 亚洲人成网站在线观看播放 |