Bagaimana cara mengatasi kaedah dalam golang?

WBOY
Lepaskan: 2024-04-26 18:48:01
asal
804 orang telah melayarinya

Kaedah mengatasi dalam Go membolehkan menyediakan pelaksanaan baharu kaedah jenis asas dalam jenis terbitan tanpa mengubah suai jenis asas: Sintaks: func (t TipoRicevente) NomeMetodo(parametri...) tipoDiRetornoTipoRicevente mesti sepadan dengan nama jenis di mana method is located Kaedah overridden mesti mempunyai tandatangan yang sama (nama, parameter, jenis return). jenis lain. Kaedah mengatasi

如何在 golang 中重写方法?

Kaedah mengatasi dalam Go

Kaedah mengatasi bermaksud mentakrifkan semula kaedah dalam jenis asas dalam jenis terbitan. Ini membolehkan anda menyediakan pelaksanaan yang berbeza atau lanjutan untuk jenis terbitan tanpa mengubah jenis asas itu sendiri.

Syntax

Untuk mengatasi kaedah dalam Go anda perlu menggunakan kata kunci func Ia adalah jenis asas Animal, yang mempunyai kaedah bernama Makan. Untuk mengatasi kaedah Eat dalam jenis terbitan bernama Anjing, anda boleh menggunakan sintaks berikut: func 关键字 seguito dal nome del tipo su cui sta sovrascrivendo il metodo:

func (t TipoRicevente) NomeMetodo(parametri...) tipoDiRetorno
Salin selepas log masuk

例如,假设您有一个名为 Animal 的基类型,其中有一个名为 Eat 的方法。要在名为 Dog 的派生类型中重写 Eat 方法,可以使用以下语法:

func (d Dog) Eat() {
  // Implementazione personalizzata
}
Salin selepas log masuk

注意:TipoRicevente 应该与方法所在类型的类型名称匹配。

实战案例

考虑以下示例:

package main

import "fmt"

type Animal interface {
  Eat()
}

type Dog struct{}

func (d Dog) Eat() {
  fmt.Println("Woof, woof!")
}

func main() {
  dog := Dog{}
  dog.Eat()
}
Salin selepas log masuk

在该示例中,Dog 类型实现了 Animal 接口中的 Eat

Woof, woof!
Salin selepas log masuk
Nota: TipoRicevente hendaklah sama sebagai kaedah Nama jenis jenis sepadan.

Kes Praktikal

  • Pertimbangkan contoh berikut:
  • rrreee
  • Dalam contoh ini, jenis Anjing melaksanakan Eat dalam Animal kaedah antara muka. Apabila anda menjalankan program ini, ia akan mencetak output berikut:
  • rrreee
  • Nota Lain
🎜🎜🎜Sesuatu kaedah hanya boleh ditindih jika jenis itu mempunyai jenis antara muka atau dibenamkan dalam jenis lain. 🎜🎜Kaedah yang diganti mesti mempunyai tandatangan yang sama (nama, parameter dan jenis nilai pulangan) seperti kaedah dalam jenis asas. 🎜🎜Kaedah yang dibatalkan boleh mempunyai pelaksanaan yang berbeza, tetapi tidak boleh menukar parameter atau mengembalikan jenis nilai. 🎜🎜

Atas ialah kandungan terperinci Bagaimana cara mengatasi kaedah dalam 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