最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語(yǔ)言學(xué)習(xí)筆記之文件讀寫操作詳解

 更新時(shí)間:2022年05月24日 10:33:05   作者:劍客阿良_ALiang  
這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言對(duì)文件進(jìn)行讀寫操作的方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語(yǔ)言有一定的幫助,需要的可以參考一下

文件操作比較多,分為幾篇來寫吧。首先是文件的讀寫,在平時(shí)的工程化操作中使用最多。

文件寫

樣例代碼如下

package main
 
import (
    "bufio"
    "fmt"
    "io"
    "os"
)
 
//寫文件
func DoWriteFile() error {
    _filePath := "./test.txt"
    _file, _err := os.OpenFile(_filePath, os.O_WRONLY|os.O_CREATE, 0666)
    if _err != nil {
        fmt.Printf("打開文件錯(cuò)誤=%v\n", _err)
        return _err
    }
    //提前關(guān)閉文件
    defer _file.Close()
    //寫入文件
    _writer := bufio.NewWriter(_file)
    _writer.WriteString("hahaha!\n")
    _writer.Flush()
    return nil
}
 
 
func main() {
    DoWriteFile()
}

這里使用了os.OpenFile方法,后面的os.O_WRONLY模式會(huì)在后面提到。

執(zhí)行結(jié)果

文件讀

樣例代碼如下

package main
 
import (
    "bufio"
    "fmt"
    "io"
    "os"
)
 
//讀文件
func DoReadFile() error {
    _filePath := "./test.txt"
    _file, _err := os.Open(_filePath)
    if _err != nil {
        fmt.Printf("打開文件錯(cuò)誤=%v\n", _err)
        return _err
    }
    defer _file.Close()
    _reader := bufio.NewReader(_file)
    for true {
        str, err := _reader.ReadString('\n')
        if err == io.EOF {
            break
        }
        fmt.Println(str)
    }
    return _err
}
 
func main() {
    DoReadFile()
}

執(zhí)行結(jié)果如下

hahaha!

Process finished with the exit code 0

注意,os.Open方法是以只讀模式打開文件。

小結(jié)

在使用os.OpenFile方法的時(shí)候需要使用到文件模式,文件的打開模式如下:

O_RDONLY int = syscall.O_RDONLY // 只讀模式打開文件

O_WRONLY int = syscall.O_WRONLY // 只寫模式打開文件

O_RDWR int = syscall.O_RDWR // 讀寫模式打開文件

O_APPEND int = syscall.O_APPEND // 寫操作時(shí)將數(shù)據(jù)附加到文件尾部

O_CREATE int = syscall.O_CREAT // 如果不存在將創(chuàng)建一個(gè)新文件

O_EXCL int = syscall.O_EXCL // 和O_CREATE配合使用,文件必須不存在

O_SYNC int = syscall.O_SYNC // 打開文件用于同步I/O

O_TRUNC int = syscall.O_TRUNC // 如果可能,打開時(shí)清空文件

到此這篇關(guān)于Go語(yǔ)言學(xué)習(xí)筆記之文件讀寫操作詳解的文章就介紹到這了,更多相關(guān)Go語(yǔ)言文件讀寫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go Resiliency庫(kù)中timeout實(shí)現(xiàn)原理及源碼解析

    Go Resiliency庫(kù)中timeout實(shí)現(xiàn)原理及源碼解析

    Go-Resiliency庫(kù)中的timeout是一種基于協(xié)程的超時(shí)機(jī)制,通過創(chuàng)建協(xié)程來執(zhí)行任務(wù)并設(shè)置超時(shí)時(shí)間,若任務(wù)執(zhí)行時(shí)間超時(shí)則中止協(xié)程并返回錯(cuò)誤,需要詳細(xì)了解可以參考下文
    2023-05-05
  • Golang中Gin框架的使用入門教程

    Golang中Gin框架的使用入門教程

    這篇文章主要為大家詳細(xì)介紹了Golang中Gin框架的使用教程,文中通過簡(jiǎn)單的示例為大家講解了Gin框架的安裝與使用,感興趣的小伙伴開業(yè)跟隨小編一起學(xué)習(xí)一下
    2022-10-10
  • Go語(yǔ)言實(shí)現(xiàn)JSON解析的方法詳解

    Go語(yǔ)言實(shí)現(xiàn)JSON解析的方法詳解

    在日常項(xiàng)目中,使用Json格式進(jìn)行數(shù)據(jù)封裝是比較常見的操作。本文將詳細(xì)講解如何利用Go語(yǔ)言實(shí)現(xiàn)JSON的解析,感興趣的小伙伴可以學(xué)習(xí)一下
    2022-04-04
  • gORM操作MySQL的實(shí)現(xiàn)

    gORM操作MySQL的實(shí)現(xiàn)

    本文主要介紹了gORM操作MySQL的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • golang跳轉(zhuǎn)語(yǔ)句goto,break,continue的使用及區(qū)別說明

    golang跳轉(zhuǎn)語(yǔ)句goto,break,continue的使用及區(qū)別說明

    這篇文章主要介紹了golang跳轉(zhuǎn)語(yǔ)句goto,break,continue的使用及區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Golang如何快速構(gòu)建一個(gè)CLI小工具詳解

    Golang如何快速構(gòu)建一個(gè)CLI小工具詳解

    這篇文章主要為大家介紹了Golang如何快速構(gòu)建一個(gè)CLI小工具詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Go語(yǔ)言切片前或中間插入項(xiàng)與內(nèi)置copy()函數(shù)詳解

    Go語(yǔ)言切片前或中間插入項(xiàng)與內(nèi)置copy()函數(shù)詳解

    這篇文章主要介紹了Go語(yǔ)言切片前或中間插入項(xiàng)與內(nèi)置copy()函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 詳解Golang使用MongoDB通用操作

    詳解Golang使用MongoDB通用操作

    這篇文章主要介紹了詳解Golang使用MongoDB通用操作,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Go語(yǔ)言結(jié)構(gòu)體Go range的學(xué)習(xí)教程

    Go語(yǔ)言結(jié)構(gòu)體Go range的學(xué)習(xí)教程

    這篇文章主要為大家介紹了Go語(yǔ)言結(jié)構(gòu)體Go range的學(xué)習(xí)教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • golang中defer的使用規(guī)則詳解

    golang中defer的使用規(guī)則詳解

    大家應(yīng)該都知道在golang當(dāng)中,defer代碼塊會(huì)在函數(shù)調(diào)用鏈表中增加一個(gè)函數(shù)調(diào)用。下面這篇文章主要給大家介紹了關(guān)于golang中defer的使用規(guī)則,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-07-07

最新評(píng)論

松潘县| 石狮市| 玉门市| 桓台县| 浦北县| 东丽区| 博湖县| 章丘市| 萝北县| 石景山区| 兰西县| 化德县| 钦州市| 同心县| 十堰市| 靖边县| 宝山区| 台山市| 聂荣县| 伊金霍洛旗| 永德县| 万全县| 龙井市| 沙湾县| 健康| 调兵山市| 宁安市| 偏关县| 措勤县| 独山县| 永靖县| 麻栗坡县| 琼结县| 衡南县| 广灵县| 开远市| 永康市| 澄迈县| 延吉市| 凭祥市| 武清区|