在Go語言中,進行文件操作主要涉及到os
和ioutil
這兩個包。下面是一些基本的文件操作示例:
file, err := os.Open("filename.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
在上面的代碼中,os.Open
函數用于打開一個名為"filename.txt"的文件。如果文件不存在或無法打開,該函數將返回一個錯誤。我們使用log.Fatal
來記錄錯誤并終止程序。defer file.Close()
語句確保在函數返回之前關閉文件。
content, err := ioutil.ReadFile("filename.txt")
if err != nil {
log.Fatal(err)
}
fmt.Println(string(content))
在上面的代碼中,ioutil.ReadFile
函數用于讀取整個文件的內容,并將其作為字節切片返回。我們使用string
函數將字節切片轉換為字符串,并打印出來。
content := "Hello, World!"
err := ioutil.WriteFile("output.txt", []byte(content), 0644)
if err != nil {
log.Fatal(err)
}
在上面的代碼中,ioutil.WriteFile
函數用于將字符串"Hello, World!"寫入名為"output.txt"的文件中。第二個參數是一個字節切片,其中包含了要寫入的內容。第三個參數是文件的權限模式。
err := os.Mkdir("mydir", 0755)
if err != nil {
log.Fatal(err)
}
在上面的代碼中,os.Mkdir
函數用于創建一個名為"mydir"的目錄。第二個參數是目錄的權限模式。
err := os.Remove("filename.txt")
if err != nil {
log.Fatal(err)
}
在上面的代碼中,os.Remove
函數用于刪除名為"filename.txt"的文件。如果要刪除一個目錄及其所有內容,可以使用os.RemoveAll
函數。
這些只是Go語言文件操作的一些基本示例。你可以根據需要進行更復雜的操作,例如遍歷目錄、重命名文件或目錄等。請注意,在使用文件操作時,始終要處理可能出現的錯誤,并確保在不再需要文件時將其關閉。