go語言之檔案讀寫

2021-09-07 19:16:06 字數 2976 閱讀 4322

操作終端相關檔案操作控制代碼

終端名稱

os.stdin

標準輸入

os.stdout

標準輸出

os.stderr

標準錯誤

如下面將在終端列印出hello world

package main

import(

"fmt"

"os"

)func main()

檔案的讀寫:

package main

import(

"fmt"

"os"

)func main()

fmt.fprintf(file, "write to file")

file.close()

}

帶緩衝區的讀

package main

import(

"fmt"

"os"

"bufio"

)var inputreader *bufio.reader

var input string

var err error

func main()

}

**執行結果如下:

[root@launch-wind day09]# go run stdout.go

please input something

ancuiqahbfcvuqewbafcu**b scdb jkbfcqw

the input is

ancuiqahbfcvuqewbafcu**b scdb jkbfcqw

從檔案中讀

package main

import(

"fmt"

"os"

"bufio"

)var inputreader *bufio.reader

var input string

var err error

func main()

defer file.close()

inputreader = bufio.newreader(file)

input, err = inputreader.readstring('\n')

if err == nil

}

案例:從檔案中讀取一行資料,統計之中數字,中午,英文,其他字元的數量。

**如下:

package main

import(

"fmt"

"os"

"bufio"

"io"

)var inputreader *bufio.reader

var input string

var err error

type charcount struct

func main()

defer file.close()

var count charcount

inputreader = bufio.newreader(file)

forif err != nil

//轉換成字元陣列【】rune 位元組陣列是【】byte

run := rune(str)

for _,v := range run

}} fmt.printf("ch :%d space :%d num :%d other :%d\n",count.chcount,count.spacecount,count.numcount,count.othercount)

}

執行結果

[root@launch-wind day09]# go run stdout.go

ch :21 space :3 num :5 other :3

[root@launch-wind day09]# cat 1.txt

write to filer

12345

hello echo

壓縮包檔案的讀取 「compress/gzip」,可以讀取壓縮檔案 gzip.newreader就可以了

前面講的都是檔案的讀取,現在我們講一下檔案的寫入。

檔案的寫入我們使用os.openfil("./1.txt", os.o_wronly, 0666)

引數作用

第乙個引數

開啟的檔案

第二個引數

開啟的方式

第三個引數

許可權控制

第二個引數

引數值含義

os.o_wronly

只寫os.o_create

沒有就建立檔案

os.o_rdonly

唯讀os.o_rdwr

讀寫操作

os.o_trunc

清空檔案操作

帶緩衝的檔案的寫入例項

package main

import(

"fmt"

"os"

"bufio"

)var inputreader *bufio.reader

var input string

var err error

func main()

defer file.close()

outputwriter := bufio.newwriter(file)

str := "hello echo\n"

for i:=0; i<10; i++

//因為是帶緩衝區的 所以要有這個函式才能寫入磁碟 否則在記憶體裡面

outputwriter.flush()

}

拷貝檔案io.copy(dst,src)前者實現寫的介面,後者實現讀的介面。copy函式從原始檔讀取,然後寫入目的檔案中去。

C語言之隨機讀寫檔案

一 獲取位置指示器 二 初始化位置指示器 將位置指示器初始化後,後續的檔案讀寫操作與所選檔案讀寫型別一致 檔案讀寫型別請看 c語言之檔案操作 三 設定位置指示器 引數 含義stream 該引數是乙個file物件的指標,指定乙個待操作的檔案流 offset 指定從whence引數的位置起偏移多少個位元...

go語言的讀寫檔案

以create方法寫檔案 以新建的方式開啟,create方法每次開啟都會清空裡面的內容 f,err os.create hah.txt if err nil defer f.close f.writestring hello,kingsoft 以open唯讀的方式開啟 open是以唯讀的方式開啟,只...

Go語言之GO 語言常量

相對於變數,常量是恆定不變的值,多用於定義程式執行期間不會改變的那些值。常量的宣告和變數宣告非常類似,只是把var換成了const,常量在定義的時候必須賦值。const pi 3.1415 const e 2.7182宣告了pi和e這兩個常量之後,在整個程式執行期間它們的值都不能再發生變化了。多個常...