Heim  >  Artikel  >  Backend-Entwicklung  >  Wie definiere ich Methoden für benutzerdefinierte Typen in Golang?

Wie definiere ich Methoden für benutzerdefinierte Typen in Golang?

WBOY
WBOYOriginal
2024-06-03 11:08:57998Durchsuche

In Go können Sie Methoden für benutzerdefinierte Typen, also Methodenempfänger, definieren. Definieren Sie einfach den Empfängertyp, den Methodennamen und die Parameter, um Verhalten für einen bestimmten Typ hinzuzufügen.

如何在 Golang 中为自定义类型定义方法?

Wie definiere ich Methoden für benutzerdefinierte Typen in Go?

In Go können Sie Methoden zu benutzerdefinierten Typen hinzufügen, genau wie Sie Methoden zu integrierten Typen hinzufügen. Dies wird als Methodenempfänger bezeichnet. Durch die Definition eines Empfängers können Sie einem benutzerdefinierten Typ spezifisches Verhalten hinzufügen.

Definieren Sie eine Empfängermethode

Um eine Empfängermethode zu definieren, verwenden Sie die folgende Syntax:

func ( receiverType ) methodName( arguments ) returnType

wobei:

  • receiverType der benutzerdefinierte Typ ist, der die Methode definiert. receiverType 是定义方法的自定义类型。
  • methodName 是方法的名称。
  • arguments 是方法的参数(可选)。
  • returnType 是方法的返回值类型(可选)。

实战案例

以下示例展示了如何为 Person 自定义类型定义一个 FullName

methodName ist der Name der Methode.

arguments sind die Parameter der Methode (optional).

returnType ist der Rückgabewerttyp der Methode (optional).
  • Praktischer Fall
  • Das folgende Beispiel zeigt, wie eine FullName-Methode für den benutzerdefinierten Typ Person definiert wird:
  • type Person struct {
        firstName  string
        lastName   string
    }
    
    // 定义接收器方法
    func (p Person) FullName() string {
        return fmt.Sprintf("%s %s", p.firstName, p.lastName)
    }
    
    func main() {
        person := Person{firstName: "John", lastName: "Doe"}
        fmt.Println(person.FullName()) // 输出:"John Doe"
    }
Andere Notizen🎜🎜🎜🎜Receive Der Containertyp muss ein benutzerdefinierter Typ sein (Struktur, Schnittstelle, Alias ​​usw.). 🎜🎜Zwischen dem Methodennamen und dem Empfängertyp muss ein Leerzeichen stehen. 🎜🎜Der Empfängertyp kann ein Werttyp oder ein Zeigertyp sein. 🎜🎜Der Empfängertyp muss mit dem Typ übereinstimmen, der in dem Paket deklariert ist, zu dem die Methode gehört. 🎜🎜

Das obige ist der detaillierte Inhalt vonWie definiere ich Methoden für benutzerdefinierte Typen in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn