有没有一种好方法来消除包名和局部变量之间的歧义?如果不需要,我宁愿不重构导入名称或变量名称。举个例子...import "path"func foo() { path := "/some/path" // Disambiguate here path.Join(path, "/some/other/path")}
2 回答
动漫人物
TA贡献1815条经验 获得超10个赞
我能想到的还有两个额外的选择:
存储
path.Join
在变量中制作
path
一个实现的类型Join
第一个很简单。而不是在声明之前path.Join
存储path.Join
在变量中path
并改为调用它(play):
join := path.Join
path := "/some/path"
path = join("/some/other/path")
第二个有点复杂,我认为您实际上不应该这样做,但这是一种可能性(play):
type Path string
func (p Path) Join(elem ...string) string {
return path.Join(append([]string{string(p)}, elem...)...)
}
fmt.Println("Hello, playground")
path := "/some/path"
path = Path(path).Join("/some/other/path")
- 2 回答
- 0 关注
- 212 浏览
添加回答
举报
0/150
提交
取消