go语言比较字符串的方法:1、使用“==”运算符,语法“字符串1==字符串2”;2、使用“strings.ToLower()”函数;3、使用“strings.Compare()”函数;4、使用“strings.EqualFold()”函数。

本教程操作环境:windows10系统、GO 1.11.2、Dell G3电脑。

方法1:使用“==”运算符(区分大小写)

package main

import "fmt"

func main() {
   fmt.Println("go"=="go")
   fmt.Println("GO"=="go")
}

输出:

true
false

方法2:使用strings.ToLower(不区分大小写)

package main

import (
    "fmt"
    "strings"
)

func main() {
    srcString := "This a string"
    destString := "this a string"

    if strings.ToLower(srcString) == strings.ToLower(destString) {
        fmt.Println("相等")
    } else {
        fmt.Println("不相等")
    }
}

输出:

相等

方法3:使用strings.Compare(区分大小写)

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.Compare("GO","go"))
    fmt.Println(strings.Compare("go","go"))
}

输出:

-1
0

Compare函数,区分大小写,比自建方法“==”的速度要快,下面是注释
/ Compare is included only for symmetry with package bytes.
// It is usually clearer and always faster to use the built-in
// string comparison operators ==, <, >, and so on.
func Compare(a, b string) int

方法4:使用strings.EqualFold(不区分大小写)

package main

import (
    "fmt"
    "strings"
)

func main() {
   fmt.Println(strings.EqualFold("GO","go"))
   fmt.Println(strings.EqualFold("go","go"))
}

输出:

true
true