Mencipta fungsi cincang yang menerima sebarang jenis data memerlukan keupayaan untuk menukar data kepada tatasusunan bait. Walau bagaimanapun, pakej binari nampaknya menuntut pengetahuan tentang jenis data dan tertib bait, menjadikan penukaran mudah mencabar.
Ralat adalah dalam pendekatan awal. Pakej gob mampu mengendalikan penukaran ini dengan berkesan.
Kod berikut menunjukkan cara menukar antara muka arbitrari{} kepada tatasusunan bait:
package bloom import ( "encoding/gob" "bytes" ) // GetBytes converts an interface{} to a byte array. func GetBytes(key interface{}) ([]byte, error) { var buf bytes.Buffer enc := gob.NewEncoder(&buf) err := enc.Encode(key) if err != nil { return nil, err } return buf.Bytes(), nil }
Fungsi ini menggunakan pakej gob untuk mengekod antara muka input ke dalam tatasusunan bait. Ia kemudian mengembalikan tatasusunan bait yang terhasil bersama-sama dengan sebarang ralat yang dihadapi semasa pengekodan.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Antara Muka Go Arbitrary kepada Array Byte?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!