Rumah > pembangunan bahagian belakang > Golang > Bagaimana Saya Boleh Membaca dan Memanipulasi Fail Binari dalam Go?

Bagaimana Saya Boleh Membaca dan Memanipulasi Fail Binari dalam Go?

Mary-Kate Olsen
Lepaskan: 2024-11-29 18:13:15
asal
1061 orang telah melayarinya

How Can I Read and Manipulate Binary Files in Go?

Membaca dan Memanipulasi Fail Binari dalam Go

Apabila bekerja dengan fail binari dalam Go, pakej os menyediakan fungsi untuk membuka dan memanipulasi fail . Untuk membuka fail binari, gunakan fungsi os.Buka:

f, err := os.Open("myfile")
if err != nil {
    panic(err)
}
Salin selepas log masuk

Setelah fail dibuka, terdapat pelbagai pilihan untuk membaca data.

Membaca Bait Terus

Untuk membaca bilangan bait tertentu terus ke dalam penimbal, gunakan kaedah Baca os.File taip:

buf := make([]byte, 10)
n, err := f.Read(buf)
if err != nil {
    panic(err)
}
Salin selepas log masuk

Bacaan Penimbalan

Untuk lebih fleksibiliti, gunakan pembaca penimbal. Balut os.Fail dalam bufio.Reader:

r := bufio.NewReader(f)
Salin selepas log masuk

Pembaca buffer membenarkan pembacaan data yang mudah menggunakan kaedah ReadString, ReadLine dan ReadBytes.

Pengekodan/ Pakej Binari

Untuk bekerja dengan data binari khususnya, pengekodan/perduaan pakej menyediakan fungsi Baca:

var value int
err := binary.Read(f, binary.LittleEndian, &value)
if err != nil {
    panic(err)
}
Salin selepas log masuk

Pakej Io/Ioutil

Pakej io/ioutil menawarkan fungsi yang lebih mudah untuk membaca keseluruhan fail:

data, err := ioutil.ReadFile("myfile")
if err != nil {
    panic(err)
}
Salin selepas log masuk

Sumber Tambahan

Untuk penjelasan yang lebih mendalam dan contoh, rujuk dokumentasi Go dan yang berikut sumber:

  • [os.Open](https://golang.org/pkg/os/#Open)
  • [bufio](https://golang.org/ pkg/bufio/)
  • [e ncoding/binary](https://golang.org/pkg/encoding/binary/)
  • [io/ioutil](https://golang.org/pkg/io/ioutil/)

Atas ialah kandungan terperinci Bagaimana Saya Boleh Membaca dan Memanipulasi Fail Binari dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan