String 如何以不区分大小写的方式比较Go中的两个字符串值?

String 如何以不区分大小写的方式比较Go中的两个字符串值?,string,go,comparison,String,Go,Comparison,如何比较两个不区分大小写的字符串? 例如:“a”==“a”和“a”==“a”必须返回true找到答案。将两个字符串转换为小写或大写,然后进行比较。 导入“字符串” strings.ToUpper(str1)=strings.ToUpper(str2) 有一个函数可以执行不区分大小写的字符串比较 例如: fmt.Println(strings.EqualFold("aa", "Aa")) fmt.Println(strings.EqualFold("aa", "AA")) fmt.Println

如何比较两个不区分大小写的字符串?
例如:
“a”==“a”
“a”==“a”
必须返回
true

找到答案。将两个字符串转换为小写或大写,然后进行比较。

导入“字符串”
strings.ToUpper(str1)=strings.ToUpper(str2)

有一个函数可以执行不区分大小写的字符串比较

例如:

fmt.Println(strings.EqualFold("aa", "Aa"))
fmt.Println(strings.EqualFold("aa", "AA"))
fmt.Println(strings.EqualFold("aa", "Ab"))
输出(在上尝试):

strings.EqualFold()不是compare,有时需要compare符号

func compareNoCase(i, j string) int {
    is, js := []rune(i), []rune(j)
    il, jl := len(is), len(js)

  ml := il
    if ml > jl {
        ml = jl
    }

    for n := 0; n < ml; n++ {
        ir, jr := unicode.ToLower(is[n]), unicode.ToLower(js[n])
        if ir < jr {
            return -1
        } else if ir > jr {
            return 1
        }
    }

    if il < jl {
        return -1
    }
    if il > jl {
        return 1
    }
    return 0
}

func equalsNoCase(i, j string) bool {
    return compareNoCase(i, j) == 0
}
func compareNoCase(i,j字符串)int{
是,js:=[]符文(i),[]符文(j)
il,jl:=len(is),len(js)
ml:=il
如果ml>jl{
ml=jl
}
对于n:=0;njr{
返回1
}
}
如果iljl{
返回1
}
返回0
}
func等式(i,j字符串)布尔{
返回比较案例(i,j)=0
}

将它们都转换成小写,然后进行比较。在6分钟内提出问题然后回答是什么意思?还必须“ß”==“SS”吗?注意可能重复:假设
utf-8
。将字符串转换成小写或大写只会给出大致正确的结果-Unicode不是这么简单。研究“土耳其i”问题,作为跳入兔子洞的起点。
func compareNoCase(i, j string) int {
    is, js := []rune(i), []rune(j)
    il, jl := len(is), len(js)

  ml := il
    if ml > jl {
        ml = jl
    }

    for n := 0; n < ml; n++ {
        ir, jr := unicode.ToLower(is[n]), unicode.ToLower(js[n])
        if ir < jr {
            return -1
        } else if ir > jr {
            return 1
        }
    }

    if il < jl {
        return -1
    }
    if il > jl {
        return 1
    }
    return 0
}

func equalsNoCase(i, j string) bool {
    return compareNoCase(i, j) == 0
}