HOWTO · Go

GoLang 문자열 비교

이 튜토리얼은 GoLang에서 문자열을 비교하는 방법을 보여줍니다.

이 페이지의 내용

이 튜토리얼은 GoLang에서 문자열을 비교하는 방법을 보여줍니다.

GoLang에는 문자열을 비교하는 두 가지 방법이 있습니다. 기본 제공 방법인 Compare()와 다른 하나는 GoLang 비교 연산자에 의한 비교입니다. 이 자습서에서는 GoLang에서 문자열을 비교하는 두 가지 방법을 보여줍니다.

Compare() 메서드를 사용하여 GoLang에서 문자열 비교

GoLang의 내장 메서드 Compare()는 두 문자열을 비교하는 데 사용됩니다. 이 방법은 사전식 순서를 사용하여 두 문자열을 비교합니다. 이 방법의 구문은 다음과 같습니다.

func Compare(a, b string) int

ab는 비교할 두 문자열이며 정수 값을 반환합니다. 문자열 비교를 기반으로 하는 세 가지 반환 유형이 있습니다.

  1. a == b이면 compare() 메서드는 0을 반환합니다.
  2. a > b이면 compare() 메서드는 1을 반환합니다.
  3. a < b인 경우 compare() 메서드는 -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.

비교 연산자를 사용하여 GoLang에서 문자열 비교

GoLang은 다른 언어와 마찬가지로 비교 연산자도 지원합니다. 이러한 비교 연산자에는 ==, !=, >=, <=, <, >가 포함됩니다. ==!=는 문자열의 동등성을 확인하는 데 사용되며 나머지 4개는 문자열을 사전식 순서로 비교하는 데 사용됩니다.

이러한 비교 연산자는 부울 연산자, 즉 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