2

特定のパスが特定のディレクトリ内にあるかどうかを確認したい状況があります。私の最初の本能は、次のようなことをすることでした

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

しかし、この手順filepath.HasPrefix、歴史的な理由からのみ存在するものとして文書化されています。を使用しても同じ効果が得られますstrings.HasPrefixか、それとも何か不足していますか?

4

3 に答える 3

3

あなたは何も見逃していません、ソースを見てください:

// 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)直接使用するだけです。

于 2015-03-23T15:06:46.440 に答える
0

Go 1.4 ではメソッドfilepath.HasPrefix が実際に呼び出す strings.HasPrefixので、答えはイエスです。

于 2015-03-23T15:08:18.620 に答える