Gjennom denne artikkelen vil vi inspisere forskjellige måter og metoder for å utføre streng sammenligningsoperasjoner i Go -programmeringsspråket.
Metode 1 - Sammenligningsoperatører
Den mest grunnleggende formen for å sammenligne strenger er å bruke GO -sammenligningsoperatører. Følgende er noen sammenligningsoperatører du kan bruke:
La oss se på noen få eksempler.
Likestillingoperatør
Likestillingsoperatøren lar deg sjekke om verdien på venstre side tilsvarer den på høyre side.
Vi kan bruke denne operatøren til å sjekke om den ene strengen er lik den andre.
Et eksempel er som vist:
pakkehoved
Importer "FMT"
func main ()
str_1: = "mysql"
str_2: = "SQL"
fmt.Println (str_1 == str_2)
I eksemplet over sjekker vi om verdien av STR_1 -variabelen er lik verdien av STR_2 -variabelen.
Siden strengene ikke er like, returnerer programmet usant:
$ go run string_compare.gå
falsk
Det er godt å huske at likestillingsoperatøren sjekker for saksfølsomhet. Følgende sammenligning returnerer for eksempel falsk:
fmt.Println ("sql" == "sql")
Hvis du vil utføre en ufølsom sammenligning, kan du først konvertere strengene til små bokstaver eller store bokstaver (som du synes passer) eller bruk en innebygd metode (dekket senere).
Følgende eksempel viser hvordan du konverterer strengene til store eller små bokstaver:
fmt.Println (strenger.TOLOWER ("SQL") == "SQL")
fmt.Println (strenger.Toupper ("SQL") == "SQL")
Ovennevnte sammenligninger returnerer sanne ettersom begge strengene er like.
Ikke lik operatør
Du kan også bruke den ikke like store operatøren (!=). Det fungerer tett lik likestillingoperatøren, bortsett fra at den returnerer den negerte versjonen av resultatet. Derfor, hvis to strenger er like, returnerer den ikke like operatøren falsk.
Et eksempel er som vist:
pakkehoved
Importer "FMT"
func main ()
str_1: = "mysql"
str_2: = "SQL"
fmt.Println (STR_1 != str_2)
Her er de to strengene ikke like. Dette betyr at den ikke like operatøren returnerer sann.
:: utgang
ekte
Leksikografiske operatører
Du kan utføre den leksikografiske sammenligningen ved å bruke større enn, mindre enn, større enn eller lik, og mindre enn eller lik. Leksikografisk sammenligning sammenligner hvis strengene er av like lengde og hvis karakterene er i en lignende posisjon (alfabetisk).
Tenk på eksempelkoden vist nedenfor:
pakkehoved
Importer "FMT"
func main ()
fmt.Println ("ABCD"> "ABCD")
fmt.Println ("abcd" = "abcd")
fmt.Println ("defc" <= "abcd")
Eksempelprogrammet ovenfor utfører en leksikografisk sammenligning med de spesifiserte strengene. Den resulterende utgangen er som vist:
falsk
ekte
ekte
falsk
Metode 2 - Sammenlign () Metode
Strings-pakken gir oss en innebygd metode for å utføre strengsammenligning. Sammenlign () -metoden tar to strenger er dens argumenter.
Funksjonen kommer tilbake:
Merk: Strengens storhet og mindrehet bestemmes av en leksikografisk sammenligning.
Eksemplet nedenfor illustrerer hvordan du bruker sammenligning () -metoden.
pakkehoved
import (
"FMT"
"Strenger"
)
func main ()
str_1: = "Hei"
str_2: = "hei"
fmt.Println (strenger.Sammenlign (str_1, str_2))
Eksemplet ovenfor returnerer -1.
Vi kan også overføre bokstavelige strenger til metoden som:
fmt.Println (strenger.Sammenlign ("Hei", "Hei"))
fmt.Println (strenger.Sammenlign ("SQL", "SQL"))
Ovennevnte utdrag skal returnere en utdata som:
::produksjon
0
-1
Metode 3 - EqualFold () Metode
Som du vil legge merke til fra eksemplet ovenfor, er COMPARE () -metoden case-sensitiv. Derfor hvis to strenger ikke samsvarer med tilfeller, anser det dem som ikke er like.
Imidlertid kan det være lurt å utføre strengsammenligning uten å utføre en konvertering til store bokstaver eller små bokstaver.
I et slikt tilfelle kan vi bruke EqualFold () -metoden. Det fungerer på samme måte som sammenligningsmetoden () uten sakens følsomhet.
Tenk på eksemplet nedenfor:
fmt.Println (strenger.EqualFold ("SQL", "SQL"))
ekte
Funksjonen returnerer en boolsk sann.
Konklusjon
Denne guiden tar deg med på en omvisning i å bruke flere metoder for å utføre strengsammenligning på Go -programmeringsspråket.
Takk for at du leste!