W tym artykule będziemy sprawdzić różne sposoby i metody wykonywania operacji porównawczych ciągów w języku programowania Go.
Metoda 1 - Operatorzy porównawcze
Najbardziej podstawową formą porównywania ciągów jest użycie operatorów porównawczych Go. Poniżej przedstawiono niektórych operatorów porównawczych, których możesz użyć:
Spójrzmy na kilka przykładów.
Operator równości
Operator równości pozwala sprawdzić, czy wartość po lewej stronie jest równa jednej po prawej stronie.
Możemy użyć tego operatora, aby sprawdzić, czy jeden ciąg jest równy drugiego.
Przykładem jest jak pokazano:
Pakiet Main
importować „fmt”
func main ()
str_1: = "mysql"
str_2: = "sql"
fmt.Println (str_1 == str_2)
W powyższym przykładzie sprawdzamy, czy wartość zmiennej Str_1 jest równa wartości zmiennej Str_2.
Ponieważ ciągi nie są równe, program zwraca fałsz:
$ Go Uruchom String_compre.Iść
FAŁSZ
Dobrze jest pamiętać, że operator równości sprawdza wrażliwość na przypadek. Na przykład następujące porównanie zwraca false:
fmt.Println („sql” == „sql”)
Jeśli chcesz wykonać porównanie nieczułe, możesz najpierw przekonwertować ciągami na małe litery lub wielkie (według własnego uznania) lub użyć wbudowanej metody (omówionej później).
Poniższy przykład pokazuje, jak przekonwertować ciągi na wielkie lub małe litery:
fmt.Println (struny.Tolower („sql”) == „sql”)
fmt.Println (struny.Toupper („sql”) == „sql”)
Powyższe porównania powracają, ponieważ oba ciągi są równe.
Nie równy operator
Możesz także użyć operatora nie równego (!=). Działa ściśle podobnie do operatora równości, z tym wyjątkiem, że zwraca negowaną wersję wyniku. Stąd, jeśli dwa ciągi są równe, nie równy operator zwraca false.
Przykładem jest jak pokazano:
Pakiet Main
importować „fmt”
func main ()
str_1: = "mysql"
str_2: = "sql"
fmt.Println (str_1 != str_2)
Tutaj dwa struny nie są równe. Oznacza to, że nie równy operator zwraca prawdziwie.
:: wyjście
PRAWDA
Operatorzy leksykograficzni
Możesz wykonać porównanie leksykograficzne przy użyciu większego niż mniej niż, większego lub równego i mniejszego lub równego. Porównanie leksykograficzne porównuje, jeśli struny mają równą długość i jeśli znaki są w podobnej pozycji (alfabetycznie).
Rozważ przykładowy kod pokazany poniżej:
Pakiet Main
importować „fmt”
func main ()
fmt.Println („abcd”> „abcd”)
fmt.Println („abcd” = „abcd”)
fmt.Println („defc” <= "abcd")
Powyższy przykładowy program przeprowadza porównanie leksykograficzne z określonymi strunami. Powstałe wyjście jest jak pokazano:
FAŁSZ
PRAWDA
PRAWDA
FAŁSZ
Metoda 2 - Porównaj () Metoda
Pakiet Strings zapewnia nam wbudowaną metodę do przeprowadzenia porównania ciągów. Metoda Compar () przyjmuje dwa ciągi to jej argumenty.
Funkcja zwraca:
Uwaga: wielkość i mniejność strun są określone przez porównanie leksykograficzne.
Poniższy przykład ilustruje, jak użyć metody Compar ().
Pakiet Main
import (
„FMT”
"smyczki"
)
func main ()
str_1: = "Hello"
str_2: = "hej"
fmt.Println (struny.Porównaj (str_1, str_2))
Powyższy przykład zwraca -1.
Możemy również przekazać dosłowne struny do tej metody jako:
fmt.Println (struny.Porównaj („hej”, „hej”))
fmt.Println (struny.Porównaj („sql”, „sql”))
Powyższe fragmenty powinny zwrócić wyjście jako:
::wyjście
0
-1
Metoda 3 - Metoda równości ()
Jak zauważysz z powyższego przykładu, metoda Porównaj () jest wrażliwa na literę. Dlatego jeśli dwa ciągi nie pasują do przypadków, uważa, że nie są one równe.
Możemy jednak chcieć przeprowadzić porównanie ciągów bez wykonywania konwersji na wielkie lub małe litery.
W takim przypadku możemy użyć metody równych (). Działa podobnie do metody Compare () bez wrażliwości przypadku.
Rozważ poniższy przykład:
fmt.Println (struny.Równe („sql”, „sql”))
PRAWDA
Funkcja zwraca boolean true.
Wniosek
Ten przewodnik zajmuje wycieczkę po kilku metodach do przeprowadzenia porównywania ciągów w języku programowania Go.
Dziękuje za przeczytanie!