我正在从目录列表中查找特定的文件类型,并使用HasSuffix进行比较以查找一些特定的文件类型。我想使这种比较不区分大小写。

有没有一种方法可以将EqualFold或其他不区分大小写的比较添加到HasSuffix函数?

最佳答案

你可以用

if strings.HasSuffix(strings.ToLower(s), "suffix") {
    // do something
}

您还可以编写自己的包装器函数:
func hasSuffix(s, suffix string, caseSensitive bool) bool {
    if caseSensitive {
        return strings.HasSuffix(s, suffix)
    }
    return strings.HasSuffix(strings.ToLower(s), suffix)
}

对于可以使用的文件名或路径(请参阅PeterSO的答案):
if strings.ToLower(filepath.Ext(s)) == ".fileending" {
    // do something
}

10-01 04:48