Rumah >pembangunan bahagian belakang >Golang >Bagaimana cara melakukan rantaian kaedah untuk antara muka?
Editor PHP Xiaoxin membawakan anda pengenalan tentang cara melaksanakan rantaian kaedah untuk antara muka. Rantaian kaedah ialah kaedah pengaturcaraan elegan yang boleh terus memanggil pelbagai kaedah dalam satu kenyataan, meningkatkan kesederhanaan dan kebolehbacaan kod. Dalam artikel ini, kami akan memperkenalkan secara terperinci petua dan langkah berjaga-jaga tentang cara melaksanakan rantaian kaedah untuk antara muka untuk membantu anda menggunakan pengaturcaraan rantai kaedah dengan lebih baik dan meningkatkan kecekapan dan kebolehselenggaraan kod anda. Mari kita meneroka bersama-sama!
Saya nak buat macam obj.withx().withy().withz()
的事情。 obj
yang boleh ada jenis yang berbeza, sebab itu saya menggunakan antara muka.
Malangnya obj
也可以是 nil
. Dalam kes ini kaedah rantaian saya akan panik kerana saya memanggil kaedah pada antara muka nil dan pergi tidak tahu kaedah mana yang hendak dipanggil.
Berikut ialah contoh minimum yang boleh diulang
Bagaimana untuk masih menggunakan kaedah rantaian pada objek yang mungkin nil
?
withx()
dan fungsi lain? obj.WithX().WithY() // of type func() myInterface obj.WithX().WithY()() // now I got the actual object.
Komen ini kebanyakannya betul, tetapi sebenarnya anda tidak boleh mengembalikan tidak ditaip sifar.
func new(someParam bool) inter { // more complicated. May return A, B or nil if someParam { return &A{} } var b *B return b // which is nil, but of a type that implements the interface }
https://www.php.cn/link/845c31a2fbc3d2e14ecb17d48dcc65a4
Jadi pada asasnya anda hanya memerlukan jenis "lalai", yang boleh menjadi nihil dan yang masih melaksanakan antara muka.
Atas ialah kandungan terperinci Bagaimana cara melakukan rantaian kaedah untuk antara muka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!