檔案概念
上圖中,返回的這個file指標,有三種叫法:
檔案物件、檔案指標、檔案控制代碼 都可以
我們在理解的時候,其實file就是乙個指標,這樣更容易理解。
檔案的開啟、關閉
file,err := os.
open
("路徑+檔名"
)if err !=
nilerr = file.
close()
//檔案關閉
if err !=
nil
用帶緩衝的reader讀取大檔案
import
"bufio"
//主要是,你知道有這個個包
reader := bufio.
newreader
(file)
for}
一次性讀取小檔案
import
"io/ioutil"
file :=
"d:/test.txt"
content, err := ioutil.
readfile
(file)
if err !=
nilfmt.
printf
("%v"
,string
(content)
)
寫檔案
主要是這個函式
func
openfile
(name string
, flag int
, perm filemode)
(file *file, err error
)引數一:檔案路徑
引數二:開啟方式
引數三:控制許可權,linux下用,用到再說吧
開啟方式
const
( o_rdonly int
= syscall.o_rdonly // 唯讀模式開啟檔案
o_wronly int
= syscall.o_wronly // 只寫模式開啟檔案
o_rdwr int
= syscall.o_rdwr // 讀寫模式開啟檔案
o_create int
= syscall.o_creat // 如果不存在將建立乙個新檔案
o_excl int
= syscall.o_excl // 和o_create配合使用,檔案必須不存在
o_sync int
= syscall.o_sync // 開啟檔案用於同步i/o
o_trunc int
= syscall.o_trunc // 如果可能,開啟時清空檔案
)過程:
filepath :=
"d:/anc.txt"
file, err := os.
openfile
0666
)if err !=
nilstr :=
"鬼怪\n"
writer := bufio.
newwriter
(file)
for i :=
0; i <
5; i++
writer.
flush()
//這個真正的寫到磁碟中
判斷檔案是否存在
func
pathexists
(path string)(
bool
,error
)if os.
isnotexist
(err)
return
false
, err
}
Golang 基礎 防備忘
常量 關於const的用法 const obj1 string cjs const obj2 nb 也可把tped去掉,系統會自動識別型別 const sunday 7 monday 1 tuesday 2 wednesday 3 thursday 4 friday 5 saturday 6 關於i...
Golang 介面 防備忘
介面定義其實就是面對物件裡面的多型性,而且比面對物件裡面的更容易理解。介面定義了一組方法 方法集 但是這些方法不包含 實現 它們沒有被實現 它們是抽象的 介面裡也不能包含變數。type namer inte ce 上面的 namer 是乙個 介面型別。按照約定,只包含乙個方法的 介面的名字由方法名加...
Golang陣列 防備忘
沒有新東西,就是整理一遍,加強記憶!最基礎形式var obj 5 intobj 3 99 索引從0開始,可通過下標方式訪問,同c語言定義的同時賦值obj int obj int 這個他媽也是切片 obj 6 int 這三種方式均可 var obj 5 string 給對應的下標賦值,其餘下標資料為空...