Heim > Artikel > Backend-Entwicklung > Wie übergebe ich Typvariablen an Funktionen für Typzusicherungen in Go?
Übergabe von Typvariablen an Funktionen für Typzusicherungen
Sie möchten Typzusicherungen durchführen, indem Sie einen Typ an eine Funktion übergeben. Im Wesentlichen möchten Sie Folgendes erreichen:
<code class="go">// Note that this is pseudocode, because Type isn't valid here func myfunction(mystring string, mytype Type) { ... someInterface := translate(mystring) object, ok := someInterface.(mytype) ... // Do other stuff } func main() { // Desired function call myfunction("hello world", map[string]string) }</code>
Um Typzusicherungen in myfunction erfolgreich durchzuführen, verwenden Sie die folgende Funktionsdeklaration:
<code class="go">package main import "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) // false assertMatch := myfunction("hello world", "stringSample") fmt.Printf("%+v\n", assertMatch) // true }</code>
Dieser Ansatz beinhaltet die Verwendung eines Beispiels des Typs Sie möchten übereinstimmen und sicherstellen, dass die Typen für eine erfolgreiche Typzusicherung identisch sind.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Typvariablen an Funktionen für Typzusicherungen in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!