亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Go 中使用 Gin Gonic 框架時出現無效的接收器錯誤

在 Go 中使用 Gin Gonic 框架時出現無效的接收器錯誤

Go
一只斗牛犬 2022-10-04 20:05:22
我正在嘗試在基于Gin的Web服務器的路由中使用外部(非匿名)函數,如下所示:package mainimport (    "net/http"    "github.com/gin-gonic/gin")func main() {    router := gin.Default()    router.GET("/hi/", Hi)    router.Run(":8080")}func (c *gin.Context) Hi() {    c.String(http.StatusOK, "Hello")}但是我得到2個錯誤:./main.go:13:23: undefined: Hi./main.go:18:6: cannot define new methods on non-local type gin.Context我想知道如何在我的端點處理程序中使用匿名函數和杜松子酒gonic?到目前為止,我發現的所有文檔都使用匿名函數。
查看完整描述

2 回答

?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

您只能為聲明該類型的同一包中的類型定義新方法。也就是說,不能向 添加新方法。gin.Context


您應該執行以下操作:


func Hi(c *gin.Context) {

...


查看完整回答
反對 回復 2022-10-04
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

package main


import "github.com/gin-gonic/gin"


func main() {

    router := gin.Default()


    router.GET("/hi", hi)

    var n Node

    router.GET("/hello", n.hello)

    router.GET("/extra", func(ctx *gin.Context) {

        n.extra(ctx, "surprise~")

    })


    router.Run(":8080")

}


func hi(c *gin.Context) {

    c.String(200, "hi")

}


type Node struct{}


func (n Node) hello(c *gin.Context) {

    c.String(200, "world")

}


func (n Node) extra(c *gin.Context, data interface{}) {

    c.String(200, "%v", data)

}


查看完整回答
反對 回復 2022-10-04
  • 2 回答
  • 0 關注
  • 461 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號