我遇到一种情况,我想检查特定路径是否位于特定目录内。我的本能是做类似的事情

filepath.HasPrefix(filepath.Clean(path), dir)

但是过程filepath.HasPrefixdocumented as existing for historic reasons only。我会使用strings.HasPrefix获得相同的效果,还是缺少某些东西?

最佳答案

您什么都不会丢失,请查看源代码:

// HasPrefix exists for historical compatibility and should not be used.
func HasPrefix(p, prefix string) bool {
    return strings.HasPrefix(p, prefix)
}

只需直接使用strings.HasPrefix(p, prefix)

10-08 19:12