欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go文件操作(新建打開寫入讀取刪除關閉)學習筆記

 更新時間:2024年01月18日 10:50:47   作者:wohu?程序員的自我進化  
這篇文章主要為大家介紹了Go文件操作(新建打開寫入讀取刪除關閉)學習筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Go 操作文本文件

Go 操作文本文件時,與其它語言一樣也有新建文件、打開文件、寫文件、讀文件、刪除文件等操作,我們一起先看下 Go 操作文本文件的 API。

1. 新建文件

//返回 File 的內存地址, 錯誤信息;通過 os 庫調用
func Create(name string) (file *File, err Error)
//返回文件的內存地址, 通過 os 庫調用
func NewFile(fd    int, name string) *File

2. 打開文件

//返回 File 的內存地址, 錯誤信息;通過 os 庫調用
func Open(name    string) (file *File, err Error)
//返回 File 的內存地址, 錯誤信息, 通過 os 庫調用
func OpenFile(name string, flag    int, perm unit32)  (file *File, err Error)

3. 寫入文件

//寫入一個 slice, 返回寫的個數(shù), 錯誤信息, 通過 File 的內存地址調用
func (file    *File).Write(b []byte)  (n int, err Error)
//從 slice 的某個位置開始寫入, 返回寫的個數(shù), 錯誤信息,通過 File 的內存地址調用
func (file    *File).WriteAt(b []byte, off int64) (n int, err Error)
//寫入一個字符串, 返回寫的個數(shù), 錯誤信息, 通過 File 的內存地址調用
func (file    *File).WriteString(s string) (ret int, err Error)

4. 讀取文件

//讀取一個 slice, 返回讀的個數(shù), 錯誤信息, 通過 File 的內存地址調用
func (file    *File).Read(b []byte) (n int, err Error)
//從 slice 的某個位置開始讀取, 返回讀到的個數(shù), 錯誤信息, 通過 File 的內存地址調用
func (file    *File).ReadAt(b []byte, off int64) (n int, err Error)

4. 刪除文件

//傳入文件的路徑來刪除文件,返回錯誤個數(shù)
func Remove(name string)    Error

5. 關閉文件

func (f *File) Close() error

使用示例

package main
import (
    "fmt"
    "os"
)
func main() {
    fileName := "/home/wohu/gocode/src/test.txt"
    writeFile(fileName)
    readFile(fileName)
}
func writeFile(fileName string) {
    file, err := os.Create(fileName)
    if err != nil {
        fmt.Println(err)
        return
    }
    for i := 0; i <= 5; i++ {
        outStr := fmt.Sprintf("%s:%d\n", "hello, world", i)
        file.WriteString(outStr)
        file.Write([]byte("abcd\n"))
    }
    file.Close()
}
func readFile(fileName string) {
    file, err := os.Open(fileName)
    if err != nil {
        fmt.Println(err)
        return
    }
    defer file.Close()
    buf := make([]byte, 1024)
    for {
        n, _ := file.Read(buf)
        if n == 0 {
            //0 表示到達EOF
            break
        }
        os.Stdout.Write(buf)
    }
}

輸出結果:

wohu@wohu:~/gocode/src$ ls
github.com  golang.org  hello.go  test.txt
wohu@wohu:~/gocode/src$ cat test.txt 
hello, world:0
abcd
hello, world:1
abcd
hello, world:2
abcd
hello, world:3
abcd
hello, world:4
abcd
hello, world:5
abcd
wohu@wohu:~/gocode/src$ 

以上就是Go文件操作(新建打開寫入讀取刪除關閉)學習筆記的詳細內容,更多關于Go文件操作的資料請關注腳本之家其它相關文章!

相關文章

  • Go高級特性之并發(fā)處理http詳解

    Go高級特性之并發(fā)處理http詳解

    Golang?作為一種高效的編程語言,提供了多種方法來實現(xiàn)并發(fā)發(fā)送?HTTP?請求,本文將深入探討?Golang?中并發(fā)發(fā)送?HTTP?請求的最佳技術和實踐,希望對大家有所幫助
    2024-02-02
  • 基于go實例網絡存儲協(xié)議詳解

    基于go實例網絡存儲協(xié)議詳解

    這篇文章主要為大家介紹了基于go實例網絡存儲協(xié)議詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Go語言學習之將mp4通過rtmp推送流媒體服務的實現(xiàn)方法

    Go語言學習之將mp4通過rtmp推送流媒體服務的實現(xiàn)方法

    對音視頻一直是小白,決定沉下心來,好好研究一下音視頻知識,下面這篇文章主要給大家介紹了關于Go語言學習之將mp4通過rtmp推送流媒體服務的實現(xiàn)方法,需要的朋友可以參考下
    2022-12-12
  • go開源項目用戶名密碼驗證的邏輯鬼才寫法

    go開源項目用戶名密碼驗證的邏輯鬼才寫法

    這篇文章主要為大家介紹了go開源項目中發(fā)現(xiàn)的一個邏輯鬼才寫法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 如何基于Golang實現(xiàn)Kubernetes邊車模式

    如何基于Golang實現(xiàn)Kubernetes邊車模式

    本文介紹了如何基于Go實現(xiàn)Kubernetes Sidecar模式,并通過實際示例演示創(chuàng)建Golang實現(xiàn)的微服務服務、Docker 容器化以及在 Kubernetes 上的部署和管理,感興趣的朋友一起看看吧
    2024-08-08
  • Go并發(fā)之RWMutex的源碼解析詳解

    Go并發(fā)之RWMutex的源碼解析詳解

    RWMutex是一個支持并行讀串行寫的讀寫鎖。RWMutex具有寫操作優(yōu)先的特點,寫操作發(fā)生時,僅允許正在執(zhí)行的讀操作執(zhí)行,后續(xù)的讀操作都會被阻塞。本文就來從源碼解析一下RWMutex的使用
    2023-03-03
  • golang去除多余的空格與換行符示例代碼

    golang去除多余的空格與換行符示例代碼

    Golang是一種強大的編程語言,提供了豐富的字符串處理功能,這篇文章主要給大家介紹了關于golang去除多余的空格與換行符的相關資料,需要的朋友可以參考下
    2023-10-10
  • golang通過mysql語句實現(xiàn)分頁查詢

    golang通過mysql語句實現(xiàn)分頁查詢

    這篇文章主要介紹了golang通過mysql語句實現(xiàn)分頁查詢,文章內容介紹詳細,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學習有所幫助
    2022-03-03
  • Go 并發(fā)實現(xiàn)協(xié)程同步的多種解決方法

    Go 并發(fā)實現(xiàn)協(xié)程同步的多種解決方法

    這篇文章主要介紹了Go 并發(fā)——實現(xiàn)協(xié)程同步的多種解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • Goland調節(jié)字體大小的設置(編輯區(qū),terminal區(qū),頁面字體)

    Goland調節(jié)字體大小的設置(編輯區(qū),terminal區(qū),頁面字體)

    這篇文章主要介紹了Goland調節(jié)字體大小的設置(編輯區(qū),terminal區(qū),頁面字體),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12

最新評論