Heim > Backend-Entwicklung > Golang > Wie kann ich einen Typ bestätigen, indem ich eine Typvariable an eine Funktion in Go übergebe?

Wie kann ich einen Typ bestätigen, indem ich eine Typvariable an eine Funktion in Go übergebe?

DDD
Freigeben: 2024-11-01 08:37:31
Original
635 Leute haben es durchsucht

How can I assert a type by passing a type variable into a function in Go?

Typzusicherung durch Übergabe einer Typvariablen an eine Funktion

Wie Sie bereits erwähnt haben, zielen Sie darauf ab, einen Typ zu behaupten, indem Sie eine Typvariable in eine integrieren Funktion. Um dies zu erreichen, schauen wir uns die entsprechende Funktionsdeklaration für myfunction an, um die Typzusicherung zu erleichtern:

func myfunction(mystring string, mytype interface{}) bool {
    ...
}
Nach dem Login kopieren

In dieser Deklaration:

  • mystring bleibt ein String-Parameter.
  • mytype wurde jedoch zu interface{} überarbeitet. Dies bedeutet, dass myfunction einen Wert jeden Typs akzeptiert.

Innerhalb von myfunction:

  1. Verwenden Sie „reflect.TypeOf()“, um den Typ des übergebenen mystring zu ermitteln.
  2. Verwenden Sie „reflect.TypeOf()“, um den Typ von „mytype“ zu bestimmen.
  3. Wenn beide Typen übereinstimmen, wird „true“ zurückgegeben. andernfalls geben Sie false zurück.

Eine Beispielimplementierung:

package main

import (
    "fmt"
    "reflect"
)

func myfunction(mystring string, mytype interface{}) bool {
    return reflect.TypeOf(mystring) == 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)

}
Nach dem Login kopieren

Hier können Sie einen beliebigen Typ als zweiten Parameter für myfunction angeben, und es wird beurteilt, ob der Mystring damit übereinstimmt Typ, was wertvolle Flexibilität bei Ihrer Typbehauptung bietet.

Das obige ist der detaillierte Inhalt vonWie kann ich einen Typ bestätigen, indem ich eine Typvariable an eine Funktion in Go übergebe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage