Rumah > Artikel > pembangunan bahagian belakang > Perbezaan antara penerima kaedah dalam bahasa berbeza dan penerima kaedah bahasa Go
Penerima kaedah dalam bahasa Go berbeza daripada dalam bahasa pengaturcaraan lain. Dalam bahasa Go: penerima kaedah terletak dalam tandatangan fungsi, sejurus selepas nama fungsi. Penerima kaedah ialah nilai dan bukannya penunjuk, yang menjadikannya lebih ringan.
Penerima kaedah dalam bahasa berbeza dan penerima kaedah bahasa Go
Dalam pengaturcaraan berorientasikan objek, penerima kaedah membenarkan kami mentakrifkan kaedah yang beroperasi pada objek tertentu. Sintaks dan penggunaan penerima kaedah mungkin berbeza dalam bahasa yang berbeza. Artikel ini akan membincangkan perbezaan antara penerima kaedah dalam bahasa berbeza dan penerima kaedah bahasa Go.
Java
Di Java, penerima kaedah dipanggil kata kunci this
关键字。它引用调用该方法的对象:
class MyClass { public void myMethod() { System.out.println(this); // 打印调用该方法的对象 } }
Python
在 Python 中,方法接收器是方法的第一个参数。它通常称为 self
:
class MyClass: def my_method(self): print(self) # 打印调用该方法的对象
C++
在 C++ 中,方法接收器作为隐式第一个参数传递给方法。它使用 this
class MyClass { public: void myMethod() { std::cout << this; // 打印调用该方法的对象 } };
Python
Dalam Python, penerima kaedah ialah parameter pertama kaedah. Ia sering dipanggilself
: type MyClass struct { // 字段 } func (myClass MyClass) myMethod() { // 实现 }
C++
Dalam C++, penerima kaedah dihantar kepada kaedah sebagai hujah pertama yang tersirat. Ia diakses menggunakan kata kunci
type Person struct { Name string } func (p Person) Greet() { fmt.Printf("Hello, %s!\n", p.Name) }
Go
Penerima kaedah bahasa Go adalah jauh berbeza daripada bahasa lain. Penerima kaedah terletak dalam tandatangan fungsi, sejurus selepas nama fungsi:
class Person: def __init__(self, name): self.name = name def greet(self): print("Hello, {}!".format(self.name))Dalam bahasa Go, penerima kaedah ialah nilai, bukan penunjuk. Ini menjadikan penerima kaedah dalam Go lebih ringan dan mengelakkan semakan penuding nol.
Kes praktikal
Berikut ialah contoh pelaksanaan kaedah yang serupa dalam bahasa Go dan Python:Go bahasa:
🎜rrreee🎜🎜Python: 🎜🎜🎜🎜🎜🎜🎜 anda boleh lihat dalam bahasa menerima Pembina adalah lebih ringkas kerana ia tidak memerlukan rujukan eksplisit kepada objek. 🎜🎜🎜Kesimpulan (dialih keluar, atas permintaan) 🎜🎜Atas ialah kandungan terperinci Perbezaan antara penerima kaedah dalam bahasa berbeza dan penerima kaedah bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!