Rumah >pembangunan bahagian belakang >Golang >Bagaimana Saya Boleh Menentukan Kewujudan Kaedah dalam Go?

Bagaimana Saya Boleh Menentukan Kewujudan Kaedah dalam Go?

DDD
DDDasal
2024-11-12 16:29:01388semak imbas

How Can I Determine Method Existence in Go?

Kewujudan Kaedah Menyoal dalam Go

Dalam Go, tidak seperti Objective-C, tiada mekanisme eksplisit untuk menyemak sama ada objek mempunyai objek tertentu kaedah. Walau bagaimanapun, terdapat beberapa pendekatan untuk menangani keperluan ini.

Semakan Kaedah Mudah

Anda boleh menentukan antara muka dengan hanya kaedah yang anda minati dan melaksanakan jenis dakwaan terhadap anda objek:

i, ok := myInstance.(InterfaceImplementingThatOneMethodIcareAbout)

Sebagai alternatif:

i, ok = myInstance.(interface{ F() })

Nilai sebenar untuk ok menunjukkan bahawa kaedah itu wujud.

Pendekatan Lanjutan : Pakej Reflect

Pakej reflect menyediakan cara yang lebih komprehensif untuk introspeksi jenis:

st := reflect.TypeOf(myInstance)
m, ok := st.MethodByName("F")

Jika ok adalah palsu, kaedah itu tidak wujud. Jika tidak, anda boleh menggunakan kaedah menggunakan m.F().

Atas ialah kandungan terperinci Bagaimana Saya Boleh Menentukan Kewujudan Kaedah dalam Go?. 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