Schnittstelle in Beton gießen Typ in Go

Jay Singh 23 August 2022
Schnittstelle in Beton gießen Typ in Go

Die Schnittstellen der Go-Sprache unterscheiden sich von denen anderer Sprachen. Die Schnittstelle ist ein Typ in der Go-Sprache, der verwendet wird, um eine Sammlung von einer oder mehreren Methodensignaturen auszudrücken.

Es ist abstrakt; Sie können also keine Instanz davon erstellen. Sie dürfen jedoch eine Schnittstellentypvariable einrichten, der ein konkreter Typwert zugewiesen werden kann, der die erforderlichen Methoden der Schnittstelle enthält.

Oder anders ausgedrückt: Die Schnittstelle ist sowohl ein Satz von Methoden als auch ein benutzerdefinierter Typ.

Dieses Tutorial zeigt, wie man eine Schnittstelle in Go in einen konkreten Typ umwandelt.

Schnittstelle in Beton gießen Typ in Go

Der Operator .(type) ist nützlich, um ein Objekt vom Schnittstellentyp in einen konkreten Typ umzuwandeln. Eine Sammlung von typimplementierbaren Methodensignaturen bildet eine Schnittstelle.

In diesem Beispiel erstellen wir ein Objekt vom Schnittstellentyp Person. Wir fügen Jay Singh als Person zum Schnittstellenobjekt hinzu, schreiben eine Methode, um das Objekt von einem Schnittstellentyp in einen konkreten Typ umzuwandeln, greifen auf die Daten des Schnittstellenobjekttyps zu und zeigen unser Ergebnis an.

package main

import "fmt"

type Person struct {
    firstName string
    lastName  string
}

func main() {
    person := Person{
        firstName: "Jay",
        lastName:  "Singh",
    }

    printIfPerson(person)
}

func printIfPerson(object interface{}) {
    person, ok := object.(Person)

    if ok {
        fmt.Printf("Hello %s!\n", person.firstName)
    }
}

Ausgabe:

Hello Jay!

Verwandter Artikel - Go Conversion