Resolusi untuk "bait.Penimbal Tidak Melaksanakan Ralat io.Writer"
Dalam Go, melaksanakan antara muka io.Writer membolehkan objek untuk menyediakan kaedah untuk menulis data. Banyak fungsi, termasuk bufio.NewWriter(), mengharapkan parameter jenis io.Writer yang boleh menerima aliran bait.
Walau bagaimanapun, ralat boleh berlaku apabila cuba menggunakan bait.Pembolehubah penimbal sebagai io .Penulis:
bytes.Buffer does not implement io.Writer (Write method has pointer receiver)
Ralat ini timbul kerana kaedah bait.Buffer's Write mempunyai penunjuk penerima.
Penyelesaian:
Untuk menyelesaikan ralat ini, hantarkan penunjuk kepada penimbal dan bukannya penimbal itu sendiri:
import "bufio" import "bytes" func main() { var b bytes.Buffer foo := bufio.NewWriter(&b) }
Dengan menghantar penunjuk kepada penimbal (membuka awalannya dengan &), anda mendayakan kaedah Tulis untuk mengubah suai penimbal asas. Ini menangani keperluan untuk jenis yang melaksanakan antara muka io.Writer dengan penerima penunjuk.
Atas ialah kandungan terperinci Mengapakah `bytes.Buffer` Tidak Melaksanakan `io.Writer` dalam Go, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!