我是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中的函数
感谢任何帮助/澄清。谢谢!
答案 0 :(得分:0)
https://echo.labstack.com/guide/context是查看回声的绝佳来源。
离线提供godoc
功能,有助于了解任何软件包(已从您的计算机下载)。在您的情况下,可以在命令行上godoc github.com/labstack/echo Context
进行操作。
许多编辑器都具有GOTO功能,可让您在编写代码时查看库源代码,https://github.com/fatih/vim-go,https://github.com/DisposaBoy/GoSublime就是这样的示例。它们允许您执行的操作是将这些功能和结构导航到定义它们的位置。希望有人会在那里写一个清晰的纪录片评论。
如果只想看一下代码的执行,则可以使用调试工具,例如delve https://github.com/derekparker/delve。
答案 1 :(得分:0)
使用 log
包。
log.Printf("CONTEXT %+v", ctx)