我想了解堆栈深度,以了解递归函数的深度。
我发现了How do I get the current depth of the Python interpreter stack?,这正是我想要的,但是它是python,当我在“ Ruby获取堆栈深度”上用Google搜索时,找不到类似的东西。
我想做的是这样的:
def recursive_func(n)
if n == 1
return get_current_depth()
end
recursive_func(n - 1)
end
我可以使用什么?
答案 0 :(得分:3)
使用caller
大概是这样的:
func createLink(c echo.Context) error {
l := new(Lien)
if err := c.Bind(l); err != nil {
return err
}
sqlStatement := "INSERT INTO link_test (label, address,langs, cats)VALUES ($1, $2, $3, $4)"
res, err := db.Query(sqlStatement, l.Linklabel, l.Linkaddress, pq.Array(l.Langs), pq.Array(l.Cats))
if err != nil {
fmt.Println(err)
} else {
fmt.Println(res)
return c.JSON(http.StatusCreated, l)
}
return c.String(http.StatusOK, "ok")
}
请记住,当程序启动时,它会从某个深度开始,因此您可能需要从计数中减去它。