Golang Porównaj ciąg

Golang Porównaj ciąg
Jako programiści spotykamy przypadki, w których musimy porównać struny. To może być sprawdzamy dane wejściowe od użytkownika lub podobne zadanie. Niezależnie od potrzeb, ważne jest, aby wiedzieć, jak dokonać porównań ciągów.

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

  1. == - kontrola równości
  2. ! = - Nie równe
  3. > = - większe lub równe
  4. <= - less than or equal to

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:

  1. 0 Jeśli dwa sznurki są równe.
  2. 1 Jeśli pierwszy ciąg jest większy niż drugi.
  3. -1 Jeśli pierwszy ciąg jest mniejszy niż drugi.

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!