Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Memundurkan *os.File Pointer Selepas Menulis untuk Membaca Data Dari Mula?

Bagaimana untuk Memundurkan *os.File Pointer Selepas Menulis untuk Membaca Data Dari Mula?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-10 21:47:25443semak imbas

How to Rewind a Go *os.File Pointer After Writing to Read Data From the Beginning?

Cari Penunjuk Fail Anda untuk Membaca Data Ditulis kepada *os.Fail dalam Go yang Sama

Apabila bekerja dengan fail dalam Go menggunakan penuding *os.File, ia adalah penting untuk memahami cara penunjuk fail berfungsi. Penunjuk fail menjejaki kedudukan semasa dalam fail. Apabila menulis pada fail, penuding fail secara automatik mara ke penghujung data bertulis.

Dalam kes anda, anda mahu menulis dan kemudian membaca data daripada *os.Penunjuk fail yang sama. Walau bagaimanapun, selepas gelung tulis, penuding fail diletakkan di hujung fail, menyebabkan anda tidak membaca apa-apa apabila cuba membaca dari permulaan fail.

Untuk menyelesaikan isu ini, anda perlu " gulung semula" penuding fail ke permulaan fail sebelum cuba membaca daripadanya. Ini boleh dicapai menggunakan fungsi Seek pada *os.File pointer.

Begini cara untuk melakukannya:

_, err := f.Seek(0, 0)
if err != nil {
    fmt.Println("Error", err)
}

Kod di atas mencari ke permulaan fail, menghantar masuk hujah 0 untuk offset dan 0 untuk kedudukan permulaan (permulaan fail). Kini, anda boleh membaca daripada fail tanpa menghadapi ralat io.EOF.

Atas ialah kandungan terperinci Bagaimana untuk Memundurkan *os.File Pointer Selepas Menulis untuk Membaca Data Dari Mula?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn