首页 > 后端开发 > Golang > 正文

如何通过将类型传递给函数来在 Go 中执行类型断言?

Susan Sarandon
发布: 2024-10-30 19:57:30
原创
597 人浏览过

How can you perform Type Assertion in Go by passing in a type to a function?

通过将类型传递给函数进行类型断言

在 Go 中,类型断言涉及验证接口值是否实现特定类型。要通过函数实现此目的,您可以使用 Reflect 包并提供预期数据类型的示例。

函数声明

您应该使用的函数声明是:

<code class="go">func myfunction(v interface{}, mytype interface{}) bool</code>
登录后复制

其中:

  • v 是保存要检查的值的变量。
  • mytype 是预期数据类型的示例。

用法

在 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!