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

golang bad file descriptor問題的解決方法

 更新時(shí)間:2019年02月06日 10:10:34   作者:benben_2015  
這篇文章主要給大家介紹了golang bad file descriptor問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

發(fā)現(xiàn)問題

在golang中,對(duì)文件進(jìn)行寫操作時(shí)出現(xiàn)上面的錯(cuò)誤。首先復(fù)現(xiàn)下這個(gè)問題。

package main

import (
 "os"
 "fmt"
)

func main() {
 file, err := os.Open("a.txt")
 if err != nil {
  fmt.Println(err)
 }
 defer file.Close()

 content:=[]byte("Go is an open source programing language that makes it easy to build simple,reliable,and efficient software")
 _, err = file.Write(content)
 if err != nil {
  fmt.Println(err)
 }
}

此時(shí)運(yùn)行就會(huì)出現(xiàn)錯(cuò)誤write a.txt: bad file descriptor。這是什么原因呢?其實(shí)這和os.Open()函數(shù)有關(guān),下面了解下Open()函數(shù)。

func Open(name string) (*File,error) {
 return OpenFile(name, O_RDONLY, 0)
}

可以看出來,Open函數(shù)打開文件的默認(rèn)方式是只讀,所以當(dāng)你要對(duì)打開的文件進(jìn)行寫操作時(shí),是不被允許的。OpenFile函數(shù)的第二個(gè)傳入?yún)?shù)的值可以是:

參數(shù)名 含義
O_RDONLY 打開只讀文件
O_WRONLY 打開只寫文件
O_RDWR 打開既可以讀取又可以寫入文件
O_APPEND 寫入文件時(shí)將數(shù)據(jù)追加到文件尾部
O_CREATE 如果文件不存在,則創(chuàng)建一個(gè)新的文件
O_EXCL 文件必須不存在,然后會(huì)創(chuàng)建一個(gè)新的文件
O_SYNC 打開同步I/0
O_TRUNC 文件打開時(shí)可以截?cái)?nbsp;

解決方法

現(xiàn)在知道原因,解決方法只要改變文件讀取的方式就行。如下例:

package main

import (
 "os"
 "fmt"
)

func main() {
 file, err := os.OpenFile("a.txt", os.O_APPEND|os.O_WRONLY, os.ModeAppend)
 if err != nil {
  fmt.Println(err)
 }
 defer file.Close()

 content:=[]byte("Go is an open source programing language that makes it easy to build simple,reliable,and efficient software")
 _, err = file.Write(content)
 if err != nil {
  fmt.Println(err)
 }
}

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • golang操作elasticsearch的實(shí)現(xiàn)

    golang操作elasticsearch的實(shí)現(xiàn)

    這篇文章主要介紹了golang操作elasticsearch,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Go中g(shù)in框架的*gin.Context參數(shù)常見實(shí)用方法

    Go中g(shù)in框架的*gin.Context參數(shù)常見實(shí)用方法

    *gin.Context是處理HTTP請(qǐng)求的核心,ctx代表"context"(上下文),它包含了處理請(qǐng)求所需的所有信息和方法,例如請(qǐng)求數(shù)據(jù)、響應(yīng)構(gòu)建器、路由參數(shù)等,這篇文章主要介紹了Go中g(shù)in框架的*gin.Context參數(shù)常見實(shí)用方法,需要的朋友可以參考下
    2024-07-07
  • Go語言實(shí)現(xiàn)JSON解析的方法詳解

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

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

    golang用melody搭建輕量的websocket服務(wù)的示例代碼

    在Go中,可以使用gin和melody庫來搭建一個(gè)輕量級(jí)的WebSocket服務(wù),gin是一個(gè)流行的Web框架,而melody是一個(gè)用于處理WebSocket的庫,本文給大家演示如何使用gin和melody搭建WebSocket服務(wù),感興趣的朋友一起看看吧
    2023-10-10
  • golang 熔斷限流降級(jí)實(shí)踐

    golang 熔斷限流降級(jí)實(shí)踐

    本文主要介紹了golang 熔斷限流降級(jí)實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • 基于Go+WebSocket實(shí)現(xiàn)實(shí)時(shí)通信功能

    基于Go+WebSocket實(shí)現(xiàn)實(shí)時(shí)通信功能

    在互聯(lián)網(wǎng)應(yīng)用程序中,實(shí)時(shí)通信是一種非常重要的功能,WebSocket 是一種基于 TCP 的協(xié)議,它允許客戶端和服務(wù)器之間進(jìn)行雙向通信,本文將介紹如何使用 Golang 創(chuàng)建單獨(dú)的 WebSocket 會(huì)話,以實(shí)現(xiàn)實(shí)時(shí)通信功能,需要的朋友可以參考下
    2023-10-10
  • golang?gorm學(xué)習(xí)之如何指定數(shù)據(jù)表

    golang?gorm學(xué)習(xí)之如何指定數(shù)據(jù)表

    在sql中首先要指定是從哪張表中查詢,所以這篇文章小編就來帶大家一起看一下gorm是如何根據(jù)model來自動(dòng)解析表名的,感興趣的小伙伴可以了解下
    2023-08-08
  • 使用golang如何優(yōu)雅的關(guān)機(jī)或重啟操作示例

    使用golang如何優(yōu)雅的關(guān)機(jī)或重啟操作示例

    這篇文章主要為大家介紹了使用golang如何優(yōu)雅的關(guān)機(jī)或重啟操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • goframe重寫FastAdmin后端實(shí)現(xiàn)實(shí)例詳解

    goframe重寫FastAdmin后端實(shí)現(xiàn)實(shí)例詳解

    這篇文章主要為大家介紹了goframe重寫FastAdmin后端實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Golang實(shí)現(xiàn)字符串倒序的幾種解決方案

    Golang實(shí)現(xiàn)字符串倒序的幾種解決方案

    給定一個(gè)字符串,按單詞將該字符串逆序是我們大家在開發(fā)中可能會(huì)遇到的一個(gè)需求,所以下面這篇文章主要給大家介紹了關(guān)于Golang如何實(shí)現(xiàn)字符串倒序的幾種解決方案,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10

最新評(píng)論

满洲里市| 安龙县| 湛江市| 塔河县| 沈丘县| 永善县| 孝感市| 中牟县| 舞钢市| 温宿县| 辽宁省| 岳西县| 松阳县| 金塔县| 衡阳县| 荃湾区| 德州市| 武邑县| 周宁县| 中西区| 凤凰县| 贵定县| 长垣县| 绵竹市| 黄浦区| 济阳县| 虹口区| 隆回县| 交口县| 财经| 郎溪县| 正安县| 遂宁市| 游戏| 赣州市| 齐齐哈尔市| 建昌县| 垫江县| 铅山县| 扎囊县| 陵水|