Rumah > Artikel > pembangunan bahagian belakang > Amalan bahasa Go: beberapa kaedah untuk mengosongkan kandungan fail
Terdapat beberapa cara untuk mengosongkan kandungan fail dalam bahasa Go: gunakan fungsi ioutil.Truncate untuk memotong fail. Gunakan fungsi os.Truncate untuk mengendalikan deskriptor fail secara terus. Gunakan panggilan sistem ftruncate untuk memotong fail secara terus.
Amalan bahasa Go: beberapa cara untuk mengosongkan kandungan fail
Mengosongkan kandungan fail ialah operasi biasa dalam bahasa Go dan terdapat beberapa kaedah untuk mencapainya.
Gunakan fungsi ioutil.Truncate
ioutil.Truncate
函数
ioutil.Truncate
函数截断文件到指定大小。如果指定大小为0,则清空文件。
package main import ( "fmt" "io/ioutil" "os" ) func main() { f, err := os.OpenFile("test.txt", os.O_RDWR, 0644) if err != nil { fmt.Println(err) return } err = ioutil.Truncate("test.txt", 0) if err != nil { fmt.Println(err) return } fmt.Println("File emptied successfully.") }
使用os.Truncate
函数
os.Truncate
函数与ioutil.Truncate
类似,但它直接操作文件描述符。
package main import ( "fmt" "os" ) func main() { f, err := os.OpenFile("test.txt", os.O_RDWR, 0644) if err != nil { fmt.Println(err) return } err = os.Truncate("test.txt", 0) if err != nil { fmt.Println(err) return } fmt.Println("File emptied successfully.") }
使用ftruncate
系统调用
ftruncate
系统调用直接截断文件。
package main import ( "fmt" "os" "syscall" ) func main() { f, err := os.OpenFile("test.txt", os.O_RDWR, 0644) if err != nil { fmt.Println(err) return } err = syscall.Ftruncate(int(f.Fd()), 0) if err != nil { fmt.Println(err) return } fmt.Println("File emptied successfully.") }
实战案例
在以下实战案例中,我们使用ioutil.Truncate
ioutil.Truncate
fungsi untuk memotong fail kepada saiz yang ditentukan. Jika saiz yang ditentukan ialah 0, fail akan dikosongkan. 🎜package main import ( "fmt" "io/ioutil" "os" ) func main() { // 打开一个现有文件 f, err := os.OpenFile("test.txt", os.O_RDWR, 0644) if err != nil { fmt.Println(err) return } // 使用 ioutil.Truncate 清空文件 err = ioutil.Truncate("test.txt", 0) if err != nil { fmt.Println(err) return } // 检查文件是否已清空 fi, err := f.Stat() if err != nil { fmt.Println(err) return } if fi.Size() == 0 { fmt.Println("File emptied successfully.") } else { fmt.Println("File not emptied.") } }🎜🎜Gunakan fungsi
os.Truncate
🎜🎜🎜Fungsi os.Truncate
adalah serupa dengan ioutil.Truncate
, tetapi ia beroperasi secara langsung pada deskriptor fail. 🎜rrreee🎜🎜Gunakan panggilan sistem ftruncate
🎜🎜🎜ftruncate
untuk memangkas fail secara terus. 🎜rrreee🎜🎜Kes praktikal🎜🎜🎜Dalam kes praktikal berikut, kami menggunakan fungsi ioutil.Truncate
untuk mengosongkan fail: 🎜rrreeeAtas ialah kandungan terperinci Amalan bahasa Go: beberapa kaedah untuk mengosongkan kandungan fail. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!