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
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