通过将类型传递给函数进行类型断言
在 Go 中,类型断言涉及验证接口值是否实现特定类型。要通过函数实现此目的,您可以使用 Reflect 包并提供预期数据类型的示例。
函数声明
您应该使用的函数声明是:
<code class="go">func myfunction(v interface{}, mytype interface{}) bool</code>
其中:
用法
在 main 函数中,你可以像这样调用 myfunction:
<code class="go">assertMatch := myfunction("hello world", "stringSample")</code>
这里,“stringSample”是一个示例的字符串类型。如果 v 值是字符串,该函数将返回 true。否则,它将返回 false。
示例
这里是一个示例:
<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>
输出:
false true
以上是如何通过将类型传递给函数来在 Go 中执行类型断言?的详细内容。更多信息请关注PHP中文网其他相关文章!