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