迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Go >

GoLang 比较字符串

作者:迹忆客 最近更新:2023/03/24 浏览次数:

本篇文章演示如何在 Go 语言中比较字符串。

Go 有两种比较字符串的方法:一种是内置方法 Compare(),另一种是通过 Go 比较运算符进行比较。 本教程演示了这两种在 Go 语言中比较字符串的方法。


在 Go 语言中使用 Compare() 方法比较字符串

Go 语言中的内置方法 Compare() 用于比较两个字符串。 该方法使用字典顺序比较两个字符串; 此方法的语法是:

func Compare(a, b string) int

其中 a 和 b 是要比较的两个字符串,它返回一个整数值。 根据字符串的比较,有三种返回类型。

  1. 如果 a == b 那么 compare() 方法将返回 0。
  2. 如果 a > bcompare() 方法将返回 1。
  3. 如果 a < bcompare() 方法将返回 -1。

让我们尝试一个使用 Compare() 方法比较字符串的例子。

package main

import (
    "fmt"
    "strings"
)

func main() {

    var string1 = "x"
    var string2 = "y"
    var string3 = "Delftstack"
    var string4 = "Delftscope"

    // string1 < string2 should return -1
    fmt.Println(strings.Compare(string1, string2))

    // string2 > string1 should return 1
    fmt.Println(strings.Compare(string2, string1))

    // string1 == string1 should return 0
    fmt.Println(strings.Compare(string1, string1))

    // string3 > string4 should return 1
    fmt.Println(strings.Compare(string3, string4))

    // string4 < string3 should return -1
    fmt.Println(strings.Compare(string4, string3))


    // Let's create a condition
    string5 := "Hello this is delftstack.com!"
    string6 := "Hello this is DELFTSTACK.COM!"

    // using the Compare function
    if strings.Compare(string5, string6) == 0 {
        fmt.Println("The strings are a match.")
    } else {
        fmt.Println("The strings do not match.")
    }
}

上面的代码尝试使用 Compare() 方法比较字符串并返回上述整数。 该代码还根据返回的整数创建条件。

查看输出:

-1
1
0
1
-1
The strings do not match.

在 Go 语言中使用比较运算符比较字符串

与其他语言一样,GoLang 也支持比较运算符; 这些比较运算符包括 ==!=>=<=<>==!= 用于检查字符串是否相等,其他四个用于比较字符串的字典顺序。

这些比较运算符返回布尔运算符,即 truefalse。 让我们首先使用 ==!= 运算符尝试一个示例。

package main

import "fmt"

func main() {

    string1 := "Delftsatck"
    string2 := "Delft"
    string3 := "Delftsatck.com"
    string4 := "Delftsatck"

    // using == operator
    ComparisonResult1 := string1 == string2
    ComparisonResult2 := string2 == string3
    ComparisonResult3 := string3 == string4
    ComparisonResult4 := string1 == string4

    fmt.Println("Result 1 is: ", ComparisonResult1)
    fmt.Println("Result 2 is: ", ComparisonResult2)
    fmt.Println("Result 3 is: ", ComparisonResult3)
    fmt.Println("Result 4 is: ", ComparisonResult4)

    // using != operator
    ComparisonResult5 := string1 != string2
    ComparisonResult6 := string2 != string3
    ComparisonResult7 := string3 != string4
    ComparisonResult8 := string1 != string4

    fmt.Println("\nResult 5 is: ", ComparisonResult5)
    fmt.Println("Result 6 is: ", ComparisonResult6)
    fmt.Println("Result 7 is: ", ComparisonResult7)
    fmt.Println("Result 8 is: ", ComparisonResult8)

}

上面的代码将根据相等性和不等性比较给定的字符串。 查看输出:

Result 1 is:  false
Result 2 is:  false
Result 3 is:  false
Result 4 is:  true

Result 5 is:  true
Result 6 is:  true
Result 7 is:  true
Result 8 is:  false

现在让我们尝试使用 >=<=<> 运算符按字典顺序比较字符串的示例。 参见示例:

package main

import "fmt"

func main() {

    string1 := "Delftsatck"
    string2 := "Delft"
    string3 := "Delftsatck.com"
    string4 := "Delftsatck"

    // using < operator
    ComparisonResult1 := string1 < string2
    ComparisonResult2 := string2 < string3
    ComparisonResult3 := string3 < string4
    ComparisonResult4 := string1 < string4

    fmt.Println("Result 1 is: ", ComparisonResult1)
    fmt.Println("Result 2 is: ", ComparisonResult2)
    fmt.Println("Result 3 is: ", ComparisonResult3)
    fmt.Println("Result 4 is: ", ComparisonResult4)

    // using > operator
    ComparisonResult5 := string1 > string2
    ComparisonResult6 := string2 > string3
    ComparisonResult7 := string3 > string4
    ComparisonResult8 := string1 > string4

    fmt.Println("\nResult 5 is: ", ComparisonResult5)
    fmt.Println("Result 6 is: ", ComparisonResult6)
    fmt.Println("Result 7 is: ", ComparisonResult7)
    fmt.Println("Result 8 is: ", ComparisonResult8)

    // using >= operator
    ComparisonResult9 := string1 >= string2
    ComparisonResult10 := string2 >= string3
    ComparisonResult11 := string3 >= string4
    ComparisonResult12 := string1 >= string4

    fmt.Println("\nResult 9 is: ", ComparisonResult9)
    fmt.Println("Result 10 is: ", ComparisonResult10)
    fmt.Println("Result 11 is: ", ComparisonResult11)
    fmt.Println("Result 12 is: ", ComparisonResult12)

    // using <= operator
    ComparisonResult13 := string1 <= string2
    ComparisonResult14 := string2 <= string3
    ComparisonResult15 := string3 <= string4
    ComparisonResult16 := string1 <= string4

    fmt.Println("\nResult 13 is: ", ComparisonResult13)
    fmt.Println("Result 14 is: ", ComparisonResult14)
    fmt.Println("Result 15 is: ", ComparisonResult15)
    fmt.Println("Result 16 is: ", ComparisonResult16)

}

现在将根据字典顺序比较上述字符串。 查看输出:

Result 1 is:  false
Result 2 is:  true
Result 3 is:  false
Result 4 is:  false

Result 5 is:  true
Result 6 is:  false
Result 7 is:  true
Result 8 is:  false

Result 9 is:  true
Result 10 is:  false
Result 11 is:  true
Result 12 is:  true

Result 13 is:  false
Result 14 is:  true
Result 15 is:  false
Result 16 is:  true

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Golang 中的零值 Nil

发布时间:2023/04/27 浏览次数:166 分类:Go

本篇文章介绍 nil 在 Golang 中的含义,nil 是 Go 编程语言中的零值,是众所周知且重要的预定义标识符。

Golang 中的 Lambda 表达式

发布时间:2023/04/27 浏览次数:93 分类:Go

本篇文章介绍如何在 Golang 中创建 lambda 表达式。Lambda 表达式似乎不存在于 Golang 中。 函数文字、lambda 函数或闭包是匿名函数的另一个名称。

Go 中的深度复制

发布时间:2023/04/27 浏览次数:90 分类:Go

当我们尝试生成对象的副本时,深层副本会准确复制原始对象的所有字段。 此外,如果它有任何对象作为字段,也会制作这些对象的副本。本篇文章介绍如何在 Golang 中进行深度复制。

在 Go 中捕获 Panics

发布时间:2023/04/27 浏览次数:66 分类:Go

像错误一样,Panic 发生在运行时。 换句话说,当您的 Go 程序中出现意外情况导致执行终止时,就会发生 Panics。让我们看一些例子来捕捉 Golang 中的Panics。

Go 中的日志级别

发布时间:2023/04/27 浏览次数:199 分类:Go

本篇文章介绍如何在 Golang 中创建和使用日志级别。Go 中的日志级别。Golang提供了一个日志包,名为log,是一个简单的日志包。 这个包不提供分级日志; 如果我们想要分级日志记录,我们必须

在 Go 中使用断言

发布时间:2023/04/27 浏览次数:181 分类:Go

本篇文章介绍了 assert 在 GoLang 中的使用。在 Go 语言中使用断言:GoLang 不提供对断言的任何内置支持,但我们可以使用来自 Testify API 的广泛使用的第三方包断言。

Go 中的随机数生成

发布时间:2023/04/27 浏览次数:114 分类:Go

本篇文章介绍如何在 Go 语言中使用随机数生成功能。Go 中的随机数生成 Go 语言为随机数生成功能提供内置支持。 内置包 math 有方法 rand(),用于随机数生成。

GoLang 电子邮件验证器

发布时间:2023/04/27 浏览次数:195 分类:Go

本篇文章介绍如何在 Go 语言中验证电子邮件。电子邮件需要特定格式; 否则,它们将无法工作。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便