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

如何在 Golang 中的'interface{}”中访问匿名结构体值?

Susan Sarandon
发布: 2024-11-04 04:17:29
原创
295 人浏览过

How to Access Anonymous Struct Values Within an `interface{}` in Golang?

访问 Golang 类型接口 {} 中的匿名结构体值

您在访问传递给 NewJob 函数的匿名结构体时遇到问题从自定义功能中。您遇到的错误“interface {} 是没有方法的接口”表示您正在使用的 interface{} 类型没有定义的方法,因此无法直接访问字段。

To要解决此问题,您需要将interface{}值类型断言为兼容类型,例如您的数据所属的匿名结构。这样做可以让您进入您想要的领域。以下是调整后的代码:

<code class="go">func Custom(name string) interface{} {
    for i := range jobs {
        if jobs[i].name != name {
            continue
        }
        return jobs[i].custom
    }
    return nil
}

...

id := t.(struct{Id int}).Id</code>
登录后复制

在上面的代码中,我们向具有名为 Id 的字段的结构体键入assert t。这允许我们直接访问 Id 字段,现在返回预期结果 1。

以上是如何在 Golang 中的'interface{}”中访问匿名结构体值?的详细内容。更多信息请关注PHP中文网其他相关文章!

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