国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Go 文件讀寫

2019-11-06 06:03:26
字體:
來源:轉載
供稿:網友

看了下go語言的標準庫,最開始看了下io庫想著看看go語言提供的函數如何實現文件的讀寫,粗略的看了下就想著使用go語言提供的方法讀寫文件試下吧。 讀文件,示例:

package mainimport ( "fmt" "io/ioutil" "os")const ( FILE = "./test.txt")//Read filefunc main(){ fd,err := os.Open(FILE) //打開文件 if err != nil{ fmt.按照C語言的方式進行了文件的讀寫后,才發現Go語言提供了更方便的方法使用ioutil庫中的ReadFile函數可直接讀取函數。 寫文件,示例:

//write filefunc main(){ dstr := []byte("this is a test") err := ioutil.WriteFile(FILE,dstr,0777) if err != nil{ fmt.Println("write file err") } dstr := []byte("this is a test") fd,err := os.OpenFile(FILE,os.O_APPEND,0777) if err != nil{ fmt.Println("open file error") } defer fd.Close() num,err := fd.Write(dstr) if err != nil{ fmt.Println(err) } fmt.Println(num)}

同樣Go語言也提供了WriteFile函數直接寫文件,但是在使用C的方式寫文件的時候與C語言有一些小的差別。我們知道C語言在寫文件時在使用open函數打開文件獲取文件句柄時只需要兩個參數(文件名,權限)而在Go語言中使用Open函數打開文件只有讀的權限。然而我們可以使用os.OpenFile函數打開文件并附權限。Go語言還提供了Create函數創建可寫文件。Create采用模式0666(任何人都可讀寫,不可執行)創建一個名為name的文件,如果文件已存在會截斷它(為空文件)。如果成功,返回的文件對象可用于I/O;對應的文件描述符具有O_RDWR模式。 權限說明: O_RDONLY int = syscall.O_RDONLY // 只讀 O_WRONLY int = syscall.O_WRONLY // 只寫 O_RDWR int = syscall.O_RDWR // 讀寫 O_APPEND int = syscall.O_APPEND // 在文件末尾追加,打開后cursor在文件結尾位置 O_CREATE int = syscall.O_CREAT // 如果不存在則創建 O_EXCL int = syscall.O_EXCL //與O_CREATE一起用,構成一個新建文件的功能,它要求文件必須不存在 O_SYNC int = syscall.O_SYNC // 同步方式打開,沒有緩存,這樣寫入內容直接寫入硬盤,系統掉電文件內容有一定保證 O_TRUNC int = syscall.O_TRUNC // 打開并清空文件 ioutil.WriteFile函數向filename指定的文件中寫入數據。如果文件不存在將按給出的權限創建文件,否則在寫入數據之前清空文件。 權限說明:

const ( // The single letters are the abbreviations // used by the String method's formatting. ModeDir FileMode = 1 << (32 - 1 - iota) // d: is a directory ModeAppend // a: append-only ModeExclusive // l: exclusive use ModeTemporary // T: temporary file (not backed up) ModeSymlink // L: symbolic link ModeDevice // D: device file ModeNamedP
ipe // p: named pipe (FIFO) ModeSocket // S: Unix domain socket ModeSetuid // u: setuid ModeSetgid // g: setgid ModeCharDevice // c: Unix character device, when ModeDevice is set ModeSticky // t: sticky // Mask for the type bits. For regular files, none will be set. ModeType = ModeDir | ModeSymlink | ModeNamedPipe | ModeSocket | ModeDevice ModePerm FileMode = 0777 // Unix permission bits)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 本溪市| 山西省| 无锡市| 桂东县| 特克斯县| 乌拉特前旗| 分宜县| 澄迈县| 麟游县| 漳州市| 香港| 宿迁市| 大埔区| 上虞市| 柳江县| 张掖市| 湖口县| 汶上县| 扶风县| 安陆市| 清涧县| 武安市| 西宁市| 运城市| 通州市| 利辛县| 鲁山县| 军事| 白沙| 武强县| 凯里市| 灵山县| 晋城| 台前县| 重庆市| 都匀市| 三江| 荣成市| 图木舒克市| 卓尼县| 罗江县|