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