保熟的呆瓜 (@youwen)今天看到一段十分精妙的代码 中发帖

特殊需求,本地改造goldmark, markdown转html。 
看到这个for循环写法,十分精妙。分享记录。
一个 for 同时实现递归子节点和遍历sibling.
func Walk(n Node, walker Walker) error {
_, err := walkHelper(n, walker)
return err
}

func walkHelper(n Node, walker Walker) (WalkStatus, error) {
status, err := walker(n, true)
if err != nil || status == WalkStop {
return status, err
}
if status != WalkSkipChildren {
for c := n.FirstChild(); c != ni...