婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > GO語(yǔ)言文件的創(chuàng)建與打開(kāi)實(shí)例分析

GO語(yǔ)言文件的創(chuàng)建與打開(kāi)實(shí)例分析

熱門標(biāo)簽:外呼系統(tǒng)如何接收服務(wù)密碼 工商信用卡外呼系統(tǒng)教程 滁州自建外呼系統(tǒng) 客服級(jí)電銷機(jī)器人 海外照相館地圖標(biāo)注入駐 旅游廁所如何電子地圖標(biāo)注 外呼系統(tǒng)多少錢一年 經(jīng)常接到推銷電話機(jī)器人的電話 智能營(yíng)銷軟件

本文實(shí)例分析了GO語(yǔ)言文件的創(chuàng)建與打開(kāi)用法。分享給大家供大家參考。具體分析如下:

文件操作是個(gè)很重要的話題,使用也非常頻繁,熟悉如何操作文件是必不可少的。Golang 對(duì)文件的支持是在 os package 里,具體操作都封裝在 type File struct {} 結(jié)構(gòu)體中。

一、func Open(name string) (file *File, err error)
再簡(jiǎn)單不過(guò)了,給一個(gè)路徑給它,返回文件描述符,如果出現(xiàn)錯(cuò)誤就會(huì)返回一個(gè) *PathError。
這是一個(gè)只讀打開(kāi)模式,實(shí)際上就是 os.OpenFile() 的快捷操作,它的原型如下:

復(fù)制代碼 代碼如下:
func Open(name string) (file *File, err error) {
    return OpenFile(name, O_RDONLY, 0)
}

二、func OpenFile(name string, flag int, perm FileMode) (file *File, err error)
這個(gè)復(fù)雜點(diǎn),需要提供文件路徑、打開(kāi)模式、文件權(quán)限。

打開(kāi)標(biāo)記:

O_RDONLY:只讀模式(read-only)
O_WRONLY:只寫(xiě)模式(write-only)
O_RDWR:讀寫(xiě)模式(read-write)
O_APPEND:追加模式(append)
O_CREATE:文件不存在就創(chuàng)建(create a new file if none exists.)
O_EXCL:與 O_CREATE 一起用,構(gòu)成一個(gè)新建文件的功能,它要求文件必須不存在(used with O_CREATE, file must not exist)
O_SYNC:同步方式打開(kāi),即不使用緩存,直接寫(xiě)入硬盤
O_TRUNC:打開(kāi)并清空文件
文件權(quán)限(unix權(quán)限位):只有在創(chuàng)建文件時(shí)才需要,不需要?jiǎng)?chuàng)建文件可以設(shè)置為 0。os庫(kù)雖然提供常量,但是我一般直接寫(xiě)數(shù)字,如0664。

如果你需要設(shè)置多個(gè)打開(kāi)標(biāo)記和unix權(quán)限位,需要使用位操作符"|",示例代碼如下:

復(fù)制代碼 代碼如下:
f, err := os.OpenFile("test.txt", os.O_CREATE|os.O_APPEND|os.O_RDWR, os.ModePerm|os.ModeTemporary)
   if err != nil {
 panic(err)
}

如果文件存在就以讀寫(xiě)模式打開(kāi),并追加寫(xiě)入;如果文件不存在就創(chuàng)建,然后以讀寫(xiě)模式打開(kāi)。

三、func Create(name string) (file *File, err error)
實(shí)際上這也是 os.OpenFile() 的快捷操作。創(chuàng)建一個(gè)新文件并以讀寫(xiě)方式打開(kāi),權(quán)限位"0666",如果文件存在則會(huì)清空。原型如下:

復(fù)制代碼 代碼如下:
func Create(name string) (file *File, err error) {
    return OpenFile(name, O_RDWR|O_CREATE|O_TRUNC, 0666)
}

四、任何文件的打開(kāi)操作,請(qǐng)記得及時(shí)釋放
復(fù)制代碼 代碼如下:
func ReadFile(pth string) error{
 f, err := os.Open(pth)
    if err!=nil{
        return err
    }
 defer f.Close() //釋放資源,時(shí)刻不忘
    ...
}

os 模塊中還有一個(gè) func NewFile(fd uintptr, name string) *File 函數(shù),使用給出的Unix文件描述符和名稱創(chuàng)建一個(gè)文件。參考:
復(fù)制代碼 代碼如下:
Stdin = NewFile(uintptr(syscall.Stdin), "/dev/stdin")
Stdout = NewFile(uintptr(syscall.Stdout), "/dev/stdout")
Stderr = NewFile(uintptr(syscall.Stderr), "/dev/stderr")

希望本文所述對(duì)大家的GO語(yǔ)言程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • 用go gin server來(lái)做文件上傳服務(wù)
  • Golang+Android基于HttpURLConnection實(shí)現(xiàn)的文件上傳功能示例
  • GO語(yǔ)言實(shí)現(xiàn)文件上傳代碼分享
  • golang并發(fā)下載多個(gè)文件的方法
  • Golang 使用http Client下載文件的實(shí)現(xiàn)方法
  • Go語(yǔ)言下載網(wǎng)絡(luò)圖片或文件的方法示例
  • GO語(yǔ)言常用的文件讀取方式
  • Go語(yǔ)言判斷指定文件是否存在的方法
  • 使用Go語(yǔ)言實(shí)現(xiàn)遠(yuǎn)程傳輸文件
  • Go語(yǔ)言判斷文件或文件夾是否存在的方法
  • golang語(yǔ)言實(shí)現(xiàn)的文件上傳與文件下載功能示例

標(biāo)簽:湘潭 楚雄 本溪 九江 深圳 運(yùn)城 喀什 晉城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《GO語(yǔ)言文件的創(chuàng)建與打開(kāi)實(shí)例分析》,本文關(guān)鍵詞  語(yǔ)言,文件,的,創(chuàng)建,與,打開(kāi),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《GO語(yǔ)言文件的創(chuàng)建與打開(kāi)實(shí)例分析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于GO語(yǔ)言文件的創(chuàng)建與打開(kāi)實(shí)例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 嘉定区| 花莲县| 淳化县| 深州市| 建昌县| 高邮市| 邓州市| 合水县| 达尔| 藁城市| 玉林市| 香格里拉县| 寿宁县| 大石桥市| 尉犁县| 姜堰市| 洛浦县| 勐海县| 中江县| 崇明县| 共和县| 陵川县| 葵青区| 什邡市| 阳谷县| 翁牛特旗| 额敏县| 昭觉县| 门头沟区| 平阳县| 鄂温| 平果县| 资溪县| 崇义县| 锡林郭勒盟| 桑日县| 南昌县| 礼泉县| 德兴市| 远安县| 乌拉特前旗|