Menghuraikan Cap Masa Unix dalam Go
Apabila cuba menghuraikan cap masa Unix ke dalam objek masa.Masa menggunakan fungsi masa.Parse, pembangun mungkin menghadapi ralat "di luar julat". Ralat ini boleh mengelirukan, terutamanya apabila reka letak yang disediakan kelihatan betul mengikut dokumentasi Go.
Untuk memahami punca ralat ini, adalah penting untuk ambil perhatian masa itu. Parse tidak direka bentuk untuk mengendalikan cap waktu Unix. Sebaliknya, ia mengkhususkan diri dalam menghuraikan rentetan yang mewakili nilai masa dalam format tertentu.
Pendekatan Betul:
Untuk menghuraikan cap masa Unix, adalah disyorkan untuk menggunakan fungsi strconv.ParseInt untuk menukar rentetan cap masa kepada perwakilan integer (int64). Integer ini kemudiannya boleh digunakan dengan fungsi masa.Unix untuk mencipta objek masa.Masa yang mewakili cap masa yang ditentukan.
package main import ( "fmt" "time" "strconv" ) func main() { unixTimestamp, err := strconv.ParseInt("1405544146", 10, 64) if err != nil { panic(err) } timestamp := time.Unix(unixTimestamp, 0) fmt.Println(timestamp) }
Kod ini akan menghuraikan rentetan cap masa Unix dengan betul dan mencipta objek masa.Masa yang sepadan , yang boleh digunakan untuk operasi atau penyimpanan selanjutnya.
Tambahan Nota:
Untuk mengelakkan kemungkinan limpahan integer pada sistem 32-bit, adalah disyorkan untuk menggunakan strconv.ParseInt dan bukannya strconv.Atoi untuk menghuraikan cap waktu Unix. Fungsi strconv.ParseInt menyokong julat nilai integer yang lebih luas, memastikan keserasian merentas sistem.
Atas ialah kandungan terperinci Bagaimana Menghuraikan Cap Waktu Unix dengan Betul dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!