Rumah >pembangunan bahagian belakang >Golang >Bagaimana cara mengatasi kaedah dalam golang?
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
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
例如,假设您有一个名为 Animal
的基类型,其中有一个名为 Eat
的方法。要在名为 Dog
的派生类型中重写 Eat
方法,可以使用以下语法:
func (d Dog) Eat() { // Implementazione personalizzata }
注意: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() }
在该示例中,Dog
类型实现了 Animal
接口中的 Eat
Woof, woof!Nota:
TipoRicevente
hendaklah sama sebagai kaedah Nama jenis jenis sepadan. Kes Praktikal
Anjing
melaksanakan Eat
dalam Animal
kaedah antara muka. Apabila anda menjalankan program ini, ia akan mencetak output berikut: Atas ialah kandungan terperinci Bagaimana cara mengatasi kaedah dalam golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!