Go+ 寫文件方法教程(4.15)

      網友投稿 802 2025-03-31

      目錄


      Go+ 概述

      正文

      導入包

      利用 os 包寫入文件

      打開并寫入文件

      利用?bufio 包寫入文件

      Go+ 概述

      Go+ 是一門融合工程開發的 Go、數據科學領域的 Python、編程教學領域的 Scratch,以 Python 之形結合 Go 之心,讓工程師處理數據不需要學習新的開發語言,讓初學者學習編程、開發作品的門檻更低的編程語言。

      正文

      和讀文件方法類似,Go+ 也提供很多寫文件的方法,今天我們就來了解一下這方面的一些內容。

      導入包

      Go+ 在寫文件時,一般會使用的工具庫是 os 和 bufio 包,導入方式如下:

      import (

      "bufio"

      "os"

      )

      利用 os 包寫入文件

      首先,我們來看如何將字節數組寫入文件,示例代碼如下:

      import (

      "bufio"

      "os"

      )

      func check(e error) {

      if e != nil {

      panic(e)

      }

      }

      d1 := []byte("hello\nworld\n")

      err := os.WriteFile("/tmp/f1", d1, 0644)

      check(err)

      執行完畢后,沒有觸發?panic,說明程序執行成功啦。但是不夠直觀,我們把文件內容讀一下再打印出來,進而佐證我們的推斷,示例代碼:

      import (

      "bufio"

      "os"

      )

      func check(e error) {

      if e != nil {

      panic(e)

      }

      }

      d1 := []byte("hello\nworld\n")

      err := os.WriteFile("/tmp/f1", d1, 0644)

      check(err)

      dat, err := os.ReadFile("/tmp/f1")

      check(err)

      print(string(dat))

      執行結果:

      hello world

      從執行結果可以知道我們的推斷是正確的,程序沒有問題。

      親自試一試!

      打開并寫入文件

      寫文件還有一種思路,就是首先創建或者打開一個文件,再向其中寫入內容信息,示例代碼如下:

      import (

      "bufio"

      "os"

      )

      func check(e error) {

      if e != nil {

      panic(e)

      }

      }

      f, err := os.Create("/tmp/f2")

      check(err)

      // 打開文件后,defer 關閉文件屬于常規做法

      defer f.Close()

      d2 := []byte{1, 222, 66, 88, 10, 102}

      Go+ 寫文件方法教程(4.15)

      n2, err := f.Write(d2)

      check(err)

      printf("wrote %d bytes\n", n2)

      n3, err := f.WriteString("gop is go+\n")

      check(err)

      printf("wrote %d bytes\n", n3)

      // 保證文件內容存入磁盤

      f.Sync()

      執行結果:

      wrote 6 bytes wrote 11 bytes

      親自試一試!

      利用?bufio 包寫入文件

      bufio 包也提供了緩沖寫卡器,可以用來寫文件,示例代碼如下:

      import (

      "bufio"

      "os"

      )

      func check(e error) {

      if e != nil {

      panic(e)

      }

      }

      f, err := os.Create("/tmp/f1")

      check(err)

      // 打開文件后,defer 關閉文件屬于常規做法

      defer f.Close()

      w := bufio.NewWriter(f)

      n4, err := w.WriteString("use bufio package write data\n")

      check(err)

      printf("wrote %d bytes\n", n4)

      // 保證緩存數據生效

      w.Flush()

      執行結果:

      wrote 29 bytes

      親自試一試!

      Go

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:如何在wps表格中使用乘法函數(wps表格里乘法怎么用)
      下一篇:怎么將PPT發送到QQ(如何將ppt轉發出去)
      相關文章
      亚洲日本韩国在线| 亚洲综合在线成人一区| 亚洲精品成人片在线观看| 国产亚洲精品bv在线观看| 亚洲一卡2卡4卡5卡6卡在线99| 亚洲综合色区在线观看| 亚洲国产日韩成人综合天堂 | 亚洲AV午夜福利精品一区二区| 亚洲日韩人妻第一页| 亚洲精品无码成人片久久不卡| 亚洲国产人成网站在线电影动漫 | 亚洲综合最新无码专区| 国产成人亚洲精品影院| 狠狠亚洲狠狠欧洲2019| 亚洲日韩激情无码一区| 亚洲成AV人片在线观看ww| 久久亚洲国产中v天仙www | 亚洲AV无一区二区三区久久| 日本红怡院亚洲红怡院最新| 亚洲AV无一区二区三区久久| 亚洲国产精品热久久| 97se亚洲综合在线| 亚洲成综合人影院在院播放| 亚洲国产情侣一区二区三区| 亚洲乱码一区av春药高潮| 亚洲一区二区三区久久久久| 一本色道久久88—综合亚洲精品 | 亚洲伊人精品综合在合线| 亚洲午夜国产精品| 亚洲日韩国产二区无码| 亚洲日韩精品国产3区| 九九精品国产亚洲AV日韩| 亚洲人妻av伦理| 亚洲精品V欧洲精品V日韩精品 | 亚洲AV无码专区国产乱码4SE| 精品亚洲成a人片在线观看| 亚洲国产精品yw在线观看| 亚洲人成电影网站色www| 国产精品亚洲精品日韩电影| 国产成人精品日本亚洲专区61| 国产精品亚洲A∨天堂不卡|