Typzusicherung durch Übergabe von Typ an Funktion
In Go beinhalten Typzusicherungen die Überprüfung, ob ein Schnittstellenwert einen bestimmten Typ implementiert. Um dies über eine Funktion zu erreichen, können Sie das Reflect-Paket verwenden und ein Beispiel des erwarteten Datentyps bereitstellen.
Funktionsdeklaration
Die Funktionsdeklaration, die Sie verwenden sollten, ist :
<code class="go">func myfunction(v interface{}, mytype interface{}) bool</code>
Wobei:
Verwendung
In der Hauptfunktion können Sie myfunction wie folgt aufrufen:
<code class="go">assertMatch := myfunction("hello world", "stringSample")</code>
Hier ist „stringSample“ ein Beispiel vom Typ String. Wenn der v-Wert eine Zeichenfolge ist, gibt die Funktion „true“ zurück. Andernfalls wird false zurückgegeben.
Beispiel
Hier ist ein Beispiel:
<code class="go">package main import ( "fmt" "reflect" ) func myfunction(v interface{}, mytype interface{}) bool { return reflect.TypeOf(v) == reflect.TypeOf(mytype) } func main() { assertNoMatch := myfunction("hello world", map[string]string{}) fmt.Printf("%+v\n", assertNoMatch) assertMatch := myfunction("hello world", "stringSample") fmt.Printf("%+v\n", assertMatch) }</code>
Ausgabe:
false true
Das obige ist der detaillierte Inhalt vonWie können Sie in Go eine Typzusicherung durchführen, indem Sie einen Typ an eine Funktion übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!