Menentukan Tarikh Penciptaan Fail dalam Windows Menggunakan Go
Menentukan tarikh penciptaan fail dalam Windows menggunakan Go boleh dicapai dengan memanfaatkan pakej os dan dengan menyasarkan struktur data sistem khusus Windows.
Fungsi os.Stat menyediakan akses kepada metadata fail, tetapi ia tidak termasuk tarikh penciptaan. Sebaliknya, anda perlu menggunakan kaedah FileInfo.Sys() untuk mendapatkan semula struktur data khusus sistem yang mendasari, yang dalam kes Windows ialah struct syscall.Win32FileAttributeData.
Struktur Win32FileAttributeData mengandungi pelbagai atribut, termasuk medan CreationTime. Medan ini mewakili cap masa penciptaan fail sebagai struktur Masa Fail. Untuk menukarnya kepada nilai masa yang boleh dibaca manusia, gunakan masa. Fungsi Unix dengan faktor ketepatan nanosaat.
Berikut ialah contoh coretan kod:
package main import ( "fmt" "os" "syscall" "time" ) func main() { fi, err := os.Stat("test.txt") if err != nil { panic(err) } // Ensure platform is Windows. if os.Name != "windows" { panic("This example is only valid for Windows.") } d := fi.Sys().(*syscall.Win32FileAttributeData) cTime := time.Unix(0, d.CreationTime.Nanoseconds()) fmt.Println("File creation date:", cTime) }
Ingat untuk melindungi Windows ini- kod khusus menggunakan kekangan binaan, sama ada dalam fail _windows.go khusus atau dengan menggunakan //go:build windows sintaks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Tarikh Penciptaan Fail dalam Windows Menggunakan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!