本文介紹如何在Linux系統中使用go語言進行文件操作。Go語言標準庫提供了io/ioutil、os和path/filepath包來實現各種文件操作功能。以下是一些常用的文件操作示例:
1. 創建文件:
以下代碼演示如何創建一個名為test.txt的文件,并寫入內容”Hello, World!”:
package main import ( "fmt" "os" ) func main() { file, err := os.Create("test.txt") if err != nil { fmt.Println("創建文件失敗:", err) return } defer file.Close() _, err = file.WriteString("Hello, World!") if err != nil { fmt.Println("寫入文件失敗:", err) return } fmt.Println("文件創建并寫入成功。") }
2. 讀取文件:
立即學習“go語言免費學習筆記(深入)”;
此示例展示如何讀取test.txt文件的內容:
package main import ( "fmt" "io/ioutil" ) func main() { data, err := ioutil.ReadFile("test.txt") if err != nil { fmt.Println("讀取文件失敗:", err) return } fmt.Println("文件內容:", string(data)) }
3. 打開文件:
此代碼演示如何打開test.txt文件并讀取其內容:
package main import ( "fmt" "io/ioutil" "os" ) func main() { file, err := os.Open("test.txt") if err != nil { fmt.Println("打開文件失敗:", err) return } defer file.Close() data, err := ioutil.ReadAll(file) if err != nil { fmt.Println("讀取文件失敗:", err) return } fmt.Println("文件內容:", string(data)) }
4. 寫入文件:
此示例展示如何將數據寫入test.txt文件:
package main import ( "fmt" "io/ioutil" ) func main() { data := []byte("Hello, World!") err := ioutil.WriteFile("test.txt", data, 0644) if err != nil { fmt.Println("寫入文件失敗:", err) return } fmt.Println("文件寫入成功。") }
5. 刪除文件:
以下代碼演示如何刪除test.txt文件:
package main import ( "fmt" "os" ) func main() { err := os.Remove("test.txt") if err != nil { fmt.Println("刪除文件失敗:", err) return } fmt.Println("文件刪除成功。") }
6. 重命名文件:
此示例展示如何將test.txt文件重命名為new_test.txt:
package main import ( "fmt" "os" ) func main() { err := os.Rename("test.txt", "new_test.txt") if err != nil { fmt.Println("重命名文件失敗:", err) return } fmt.Println("文件重命名成功。") }
7. 獲取文件信息:
此代碼演示如何獲取test.txt文件的信息:
package main import ( "fmt" "os" ) func main() { fileInfo, err := os.Stat("test.txt") if err != nil { fmt.Println("獲取文件信息失敗:", err) return } fmt.Println("文件名:", fileInfo.Name()) fmt.Println("文件大小:", fileInfo.Size()) fmt.Println("文件模式:", fileInfo.Mode()) fmt.Println("文件修改時間:", fileInfo.ModTime()) }
這些示例代碼展示了Go語言在Linux環境下進行基本文件操作的方法。 請根據實際需求修改和擴展這些代碼。 注意錯誤處理,確保代碼的健壯性。