GoLang 문자열 비교

Sheeraz Gul 2023년6월20일
  1. Compare() 메서드를 사용하여 GoLang에서 문자열 비교
  2. 비교 연산자를 사용하여 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
작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

관련 문장 - Go String