像下面这种场景,map也不太好实现
为了更具扩展性,每一层的节点按照priority排序,priority是节点的子节点(儿子节点,孙子节点等)注册的handler的数量,这样做有两个好处:
- ...
一方面是节省内存,更重要是方便查找,像`/user/:id`这种参数会变的路由用`map`就不太好实现了
Go可以使用`s[x:y]`的形式访问数组,即使x,y超过了`len(s)`,但要求是`0<=x<=y<=cap(s)`
像`a=s[x:y]`赋值过后,`cap(a)`会变成`c...
<a href="/topics/9249#comment4" title="4">#4<span>楼</span></a> <a href="/user/chinahub" title="@chin...
<a href="/user/Yindaxian" title="@Yindaxian">@Yindaxian</a> <a href="/user/huang2287832" title="@hu...
Go的函数是值传递,defer调用的函数也是一样
关于defer,可以看下这篇 https://studygolang.com/topics/9070
<a href="/topics/9211#comment2" title="2">#2<span>楼</span></a> <a href="/user/18393910396" title="@1...
你这定义的map[string]User,然后给它传的又是*User,肯定不行啊
欢迎关注公众号《Go后端干货》
你可以理解为将func进栈,然后根据退出条件一个一个将栈里的func弹出
```
压栈:
func(3)
func(2)
func(1)
func(0)
```
<a href="/user/polaris" title="@polaris">@polaris</a> 抱歉抱歉,下次一定注意
<a href="/user/polaris" title="@polaris">@polaris</a> 抱歉,下次发全文,再附推广可以吗?