Bagaimana untuk membebankan kaedah golang?

王林
Lepaskan: 2024-04-27 18:06:01
asal
897 orang telah melayarinya

Go membenarkan lebihan kaedah dalam jenis yang sama melalui set kaedah, iaitu, mentakrifkan berbilang kaedah dengan nama yang sama tetapi parameter berbeza. Set kaedah mesti disertakan dalam antara muka, nama kaedah adalah sama, jenis parameter berbeza, dan jenis nilai pulangan boleh sama atau berbeza. Contohnya, jenis Titik boleh membebankan kaedah Jarak, kaedah yang menerima parameter Titik lain dan kaedah yang tidak menerima parameter.

如何重载 golang 方法?

Bagaimana untuk membebankan kaedah Go?

Gambaran Keseluruhan

Go tidak menyokong kaedah lebih muatan dalam erti kata tradisional, iaitu, mentakrifkan kaedah dengan nama yang sama tetapi parameter berbeza dalam jenis yang sama. Walau bagaimanapun, Go menyediakan alternatif yang dipanggil set kaedah, yang membenarkan mentakrifkan berbilang kaedah dengan nama yang sama tetapi parameter berbeza.

Syntax

Untuk melebihkan kaedah dalam Go, anda boleh menggunakan sintaks berikut:

type TypeName interface {
    MethodName(param1Type param1Name, param2Type param2Name, ...)returnType
}
Salin selepas log masuk

Contoh Praktikal

Mari kita pertimbangkan contoh cara untuk melebihkan Jarak dalam Point taip kaedah. Point 类型中重载 Distance 方法。

type Point struct {
    x, y float64
}

func (p Point) Distance(q Point) float64 {
    return math.Sqrt(math.Pow(p.x-q.x, 2) + math.Pow(p.y-q.y, 2))
}

func (p Point) DistanceToOrigin() float64 {
    return math.Sqrt(math.Pow(p.x, 2) + math.Pow(p.y, 2))
}
Salin selepas log masuk

在上面示例中,Point 类型有两个 Distance 方法:一个采用另一个 Pointrrreee

Dalam contoh di atas, jenis Point mempunyai dua kaedah Jarak: satu yang mengambil satu lagi parameter Point dan satu yang tidak mengambil parameter . Pengkompil membezakan berdasarkan jenis parameter kaedah, jadi kita boleh menggunakan nama yang sama untuk kedua-dua kaedah.

Nota
  • Set kaedah mesti disertakan dalam antara muka.
  • Nama kaedah mestilah sama.
  • Jenis parameter kaedah mestilah berbeza.
  • Kaedah jenis nilai pulangan boleh sama atau berbeza.
🎜

Atas ialah kandungan terperinci Bagaimana untuk membebankan kaedah golang?. 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