Mencari Pelaksanaan Antara Muka dalam Perpustakaan Standard
Mengenal pasti jenis yang mematuhi antara muka tertentu dalam perpustakaan standard Go boleh menjadi kemahiran yang berharga . Walau bagaimanapun, ia tidak selalunya intuitif. Dan bergantung semata-mata pada pengalaman mungkin bukan pendekatan yang paling cekap.
Mengenal pasti Pelaksanaan Antara Muka
Perpustakaan standard menyediakan pelbagai alatan yang boleh membantu dalam proses ini. Satu pilihan ialah menggunakan arahan egrep:
egrep -nr '^func (.*) ReadByte\(' *
Arahan ini mencari kod sumber untuk semua kejadian fungsi yang bermula dengan "func" dan termasuk nama kaedah "ReadByte" dalam kurungan.
Contoh
Pertimbangkan antara muka ByteReader dalam io pakej, yang mentakrifkan kaedah untuk membaca bait. Menggunakan arahan egrep, kita boleh menyenaraikan semua jenis dalam perpustakaan standard yang melaksanakan antara muka ini:
lnml@fsc-r630:~/go/src/pkg$ egrep -nr '^func (.*) ReadByte\(' * bufio/bufio.go:165:func (b *Reader) ReadByte() (c byte, err error) { bytes/reader.go:59:func (r *Reader) ReadByte() (b byte, err error) { bytes/buffer.go:289:func (b *Buffer) ReadByte() (c byte, err error) { encoding/xml/xml_test.go:234:func (d *downCaser) ReadByte() (c byte, err error) { strings/reader.go:58:func (r *Reader) ReadByte() (b byte, err error) {
Seperti yang kita lihat, jenis Pembaca dalam bufio, bait, pengekodan/xml dan rentetan pakej semua laksanakan antara muka ByteReader.
Sumber Tambahan
Selain itu untuk egrep, tapak web Go (golang.org) menawarkan ciri carian sensitif huruf besar-besaran yang boleh membantu mencari pelaksanaan antara muka tertentu. Dengan menggabungkan alatan ini dengan pengetahuan tentang perpustakaan standard, pembangun boleh mengenal pasti jenis yang memenuhi antara muka yang dikehendaki dengan berkesan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Pelaksanaan Antara Muka dengan Cekap dalam Pustaka Standard Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!