Golang打印Echo.Context的值

3

我是Go的新手,正在尝试检查一个方法的参数。我有以下代码:

func (c *controller) OrderNew(ctx echo.Context) error {

当我尝试以下任一操作时:

    fmt.println(ctx)
    fmt.Printf("%v \n", ctx)

我明白了

&{0xc4200f21e0 0xc4202302d0 /order [] [] map[] 0x4092860 map[site_key:2] 0xc4200bb6c0}

我知道 *controller 是一个指针,返回的值包含地址,但不确定如何进行进一步的调试或检查。我还看到 cxt 上调用的函数。

ctx.Get and ctx.Render

我意识到这些是echo.Context中的函数。

如果需要帮助/澄清,请告知。谢谢!


2
你到底希望看到什么?echo.Context拥有许多方法,您可以调用这些方法获取您想要的任何信息。 - JimB
1
这里是 echo 的 context.go 链接,供您参考。此外,如果我猜的没错的话,最有趣的方法可能是 Request() 和 Response(),它们分别检索 HTTP 请求和响应对象。 - daplho
1
或者一个链接到更好格式的godoc:echo.Context - JimB
2个回答

2
使用 log 包。
log.Printf("CONTEXT %+v", ctx)

添加一个游乐场链接以通过示例进行解释。 - Shubham Chadokar

0
  • https://echo.labstack.com/guide/context 是寻找有关 echo 的优秀资源。

  • 离线情况下,有 godoc 功能,可帮助理解任何包(已下载到您的计算机中)。在您的情况下,您可以在命令行上执行 godoc github.com/labstack/echo Context 来完成此操作。

  • 许多编辑器都有“转到”的功能,让您在编码时查看库源代码。https://github.com/fatih/vim-gohttps://github.com/DisposaBoy/GoSublime 就是这样的例子。它们允许您导航这些函数和结构,直到它们被定义的地方。希望有人能在那里写一个简明扼要的注释。

  • 如果您只想观察代码的执行情况,您可以使用调试工具,例如 delve https://github.com/derekparker/delve


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接