標籤:ase 使用 for lse regular bbr others reg 多個
Go檔案操作
go對於檔案的操作提供了多個包進行支援,目前學習了這部分,故對該包的使用記錄一下。
package mainimport ( "fmt" "os" "io")func main(){ fi, err := os.Open("main.go") if err != nil{ fmt.Println(err) return } wi, err := os.Create("wo.go") if err != nil{ fmt.Println(err) return } data := make([]byte, 100) for { n, err := fi.Read(data) if err != nil{ if err == io.EOF{ break//已經讀取完了 }else{ fmt.Println(err) } } w, err := wi.Write(data[0:n]) if err != nil{ fmt.Println(err)//出錯了 return } if w != n{ fmt.Println("也是有錯誤的!") return } fmt.Print(string(data[0:n])) }}
擷取檔案的屬性
package mainimport ( "fmt" "os")func main(){ fileInfo, err := os.Stat("main.go") if err != nil{ fmt.Println(err) } fmt.Print(fileInfo)}
其中FileInfo的結構如下:
type FileInfo interface { Name() string // base name of the file 檔案名稱 Size() int64 // length in bytes for regular files; system-dependent for others Mode() FileMode // file mode bits ModTime() time.Time // modification time IsDir() bool // abbreviation for Mode().IsDir() Sys() interface{} // underlying data source (can return nil)}
Go檔案操作