HOWTO · Go
GoLang 문자열 비교
이 튜토리얼은 GoLang에서 문자열을 비교하는 방법을 보여줍니다.
이 페이지의 내용
이 튜토리얼은 GoLang에서 문자열을 비교하는 방법을 보여줍니다.
GoLang에는 문자열을 비교하는 두 가지 방법이 있습니다. 기본 제공 방법인 Compare()와 다른 하나는 GoLang 비교 연산자에 의한 비교입니다. 이 자습서에서는 GoLang에서 문자열을 비교하는 두 가지 방법을 보여줍니다.
Compare() 메서드를 사용하여 GoLang에서 문자열 비교
GoLang의 내장 메서드 Compare()는 두 문자열을 비교하는 데 사용됩니다. 이 방법은 사전식 순서를 사용하여 두 문자열을 비교합니다. 이 방법의 구문은 다음과 같습니다.
func Compare(a, b string) int
a와 b는 비교할 두 문자열이며 정수 값을 반환합니다. 문자열 비교를 기반으로 하는 세 가지 반환 유형이 있습니다.
- a == b이면
compare()메서드는 0을 반환합니다. - a > b이면
compare()메서드는 1을 반환합니다. - 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개는 문자열을 사전식 순서로 비교하는 데 사용됩니다.
이러한 비교 연산자는 부울 연산자, 즉 true 및 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)
}
위의 코드는 평등과 불평등을 기반으로 주어진 문자열을 비교합니다. 출력을 참조하십시오.
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