1 Star 0 Fork 1

go-genie / httptransport

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
path_walker.go 612 Bytes
一键复制 编辑 原始数据 按行查看 历史
lijun 提交于 2024-02-20 16:20 . feat:rollback version
package transformers
import (
"fmt"
"strings"
)
type PathWalker struct {
path []interface{}
}
func (pw *PathWalker) Enter(i interface{}) {
pw.path = append(pw.path, i)
}
func (pw *PathWalker) Exit() {
pw.path = pw.path[:len(pw.path)-1]
}
func (pw *PathWalker) Paths() []interface{} {
return pw.path
}
func (pw *PathWalker) String() string {
b := &strings.Builder{}
for i := 0; i < len(pw.path); i++ {
switch x := pw.path[i].(type) {
case string:
if b.Len() != 0 {
b.WriteByte('.')
}
b.WriteString(x)
case int:
b.WriteString(fmt.Sprintf("[%d]", x))
}
}
return b.String()
}
1
https://gitee.com/go-genie/httptransport.git
git@gitee.com:go-genie/httptransport.git
go-genie
httptransport
httptransport
v1.0.7

搜索帮助

53164aa7 5694891 3bd8fe86 5694891