Perbezaan antara penerima kaedah dalam bahasa berbeza dan penerima kaedah bahasa Go

王林
Lepaskan: 2024-04-12 14:36:02
asal
560 orang telah melayarinya

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.

Perbezaan antara penerima kaedah dalam bahasa berbeza dan penerima kaedah bahasa Go

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 ini. Ia merujuk kepada objek yang kaedah dipanggil: this 关键字。它引用调用该方法的对象:

class MyClass {
    public void myMethod() {
        System.out.println(this); // 打印调用该方法的对象
    }
}
Salin selepas log masuk

Python

在 Python 中,方法接收器是方法的第一个参数。它通常称为 self

class MyClass:
    def my_method(self):
        print(self)  # 打印调用该方法的对象
Salin selepas log masuk

C++

在 C++ 中,方法接收器作为隐式第一个参数传递给方法。它使用 this

class MyClass {
public:
    void myMethod() {
        std::cout << this;  // 打印调用该方法的对象
    }
};
Salin selepas log masuk

Python

Dalam Python, penerima kaedah ialah parameter pertama kaedah. Ia sering dipanggil self:

type MyClass struct {
    // 字段
}

func (myClass MyClass) myMethod() {
    // 实现
}
Salin selepas log masuk

C++

Dalam C++, penerima kaedah dihantar kepada kaedah sebagai hujah pertama yang tersirat. Ia diakses menggunakan kata kunci ini:

type Person struct {
    Name string
}

func (p Person) Greet() {
    fmt.Printf("Hello, %s!\n", p.Name)
}
Salin selepas log masuk

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))
Salin selepas log masuk
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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!