Go接口方法使用

我使用 Martini 库编写了一个非常简单的 Go 应用程序。在整理一个简单的 REST API 示例时,我想在发生如下错误时将 JSON 数据呈现给用户:


{

    error: "Document Not Found",

    code: 404

}

我正在使用以下代码返回 Martini 可以呈现为 JSON 的地图。包错误响应


import "net/http"


type ErrJson interface {


    RenderErr(v int)


}


func RenderErr(v int) map [string]interface{} {


    var returnMap = map[string]interface{} {

        "error": http.StatusText(v),

        "code": v,

    }


    return returnMap


}

稍后在我的控制器代码中,我尝试使用


fmt.Println(ErrJson.RenderErr(400))

但是我收到以下错误:


控制器\FoodController.go:25:不能在函数参数中使用 400(int 类型)作为 ErrorResponces.ErrJson 类型:int 没有实现 ErrorResponces.ErrJson(缺少 RenderErr 方法)


控制器\FoodController.go:25: 没有足够的参数调用 ErrorResponces.ErrJson.RenderErr 控制器\FoodController.go:25: ErrorResponces.ErrJson.RenderErr(400) 用作值


我很难弄清楚这个错误到底在说什么。


天涯尽头无女友
浏览 182回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go