Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membebankan kaedah golang?

Bagaimana untuk membebankan kaedah golang?

王林
王林asal
2024-04-27 18:06:01826semak imbas

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
}

Contoh Praktikal

Mari kita pertimbangkan contoh cara untuk melebihkan Jarak dalam Point taip kod> 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))
}

在上面示例中,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!

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