如何使用接口类型还原为结构体类型
在使用 echo 框架时,开发者可以通过接口类型重用 api,从而实现代码复用。然而,在实际应用中,却遇到了 echo.bind() 要求传入结构体类型的问题。
具体来说,在以下代码中:
func get(service _interface.getinterface) echo.handlerfunc { return func(c echo.context) (err error){ if err := c.bind(&service); err == nil { // ... } else { // ... } }}
由于 c.bind() 方法必须传入一个结构体类型,而 service 是一个接口类型,因此无法直接使用。
解决方案
要解决这个问题,可以通过以下方法:
去除 c.bind() 中的 &
只需将 c.bind(&service) 中的 & 符号去掉,即可直接将接口类型 service 作为参数传入:
if err := c.Bind(&service); err == nil { // ...} else { // ...}
以上就是Echo框架中如何解决接口类型与结构体类型在Bind方法中的冲突?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1383833.html
微信扫一扫
支付宝扫一扫