Golang Confronta la stringa

Golang Confronta la stringa
Come programmatori, incontriamo casi in cui dobbiamo confrontare le stringhe. Questo potrebbe essere che stiamo verificando l'input dall'utente o un'attività simile. Qualunque sia la necessità, è importante sapere come eseguire confronti di stringhe.

In questo articolo, ispezioneremo vari modi e metodi per eseguire operazioni di confronto delle stringhe nel linguaggio di programmazione Go.

Metodo 1 - Operatori di confronto

La forma più elementare per confrontare le stringhe è utilizzare gli operatori di confronto GO. Di seguito sono riportati alcuni operatori di confronto che è possibile utilizzare:

  1. == - Controllo dell'uguaglianza
  2. ! = - non uguale
  3. > = - maggiore o uguale a
  4. <= - less than or equal to

Vediamo alcuni esempi.

Operatore di uguaglianza

L'operatore di uguaglianza consente di verificare se il valore sul lato sinistro è uguale a quello sul lato destro.

Possiamo usare questo operatore per verificare se una stringa è uguale all'altra.

Un esempio è come mostrato:

Pacchetto principale
Importa "FMT"
func main ()
str_1: = "mysql"
str_2: = "sql"
fmt.Println (str_1 == str_2)

Nell'esempio sopra, controlliamo se il valore della variabile STR_1 è uguale al valore della variabile STR_2.

Poiché le stringhe non sono uguali, il programma restituisce falso:

$ go runing string_compare.andare
falso

È bene ricordare che l'operatore di uguaglianza controlla la sensibilità al caso. Ad esempio, il seguente confronto restituisce falso:

fmt.Println ("sql" == "sql")

Se si desidera eseguire un confronto insensibile al caso, è possibile prima convertire le stringhe in minuscolo o maiuscola (come si vede l'adattamento) o utilizzare il metodo incorporato (coperto più tardi).

L'esempio seguente mostra come convertire le stringhe in maiuscolo o minuscolo:

fmt.Println (stringhe.Tolower ("sql") == "sql")
fmt.Println (stringhe.Toupper ("sql") == "sql")

I confronti di cui sopra ritornano vero poiché entrambe le stringhe sono uguali.

Operatore non uguale

Puoi anche utilizzare l'operatore non uguale (!=). Funziona strettamente simile all'operatore di uguaglianza, tranne per il fatto che restituisce la versione negata del risultato. Quindi, se due stringhe sono uguali, l'operatore non uguale restituisce falso.

Un esempio è come mostrato:

Pacchetto principale
Importa "FMT"
func main ()
str_1: = "mysql"
str_2: = "sql"
fmt.Println (str_1 != str_2)

Qui, le due stringhe non sono uguali. Ciò significa che l'operatore non uguale restituisce vero.

:: produzione
VERO

Operatori lessicografici

È possibile eseguire il confronto lessicografico usando maggiore, inferiore a, maggiore o uguale a e inferiore o uguale a. Il confronto lessicografico confronta se le stringhe sono di uguale lunghezza e se i caratteri sono in una posizione simile (in ordine alfabetico).

Considera il codice di esempio mostrato di seguito:

Pacchetto principale
Importa "FMT"
func main ()
fmt.Println ("ABCD"> "ABCD")
fmt.Println ("ABCD" = "ABCD")
fmt.Println ("defc" <= "abcd")

Il programma di esempio di cui sopra esegue un confronto lessicografico con le stringhe specificate. L'output risultante è come mostrato:

falso
VERO
VERO
falso

Metodo 2 - Confronta () metodo

Il pacchetto Strings ci fornisce un metodo integrato per eseguire il confronto delle stringhe. Il metodo confronta () prende due stringhe sono i suoi argomenti.

La funzione restituisce:

  1. 0 Se le due stringhe sono uguali.
  2. 1 se la prima stringa è maggiore della seconda.
  3. -1 se la prima stringa è inferiore alla seconda.

Nota: la grandezza e la minorezza delle stringhe sono determinate da un confronto lessicografico.

L'esempio seguente illustra come utilizzare il metodo Confront ().

Pacchetto principale
importazione (
"FMT"
"stringhe"
)
func main ()
str_1: = "ciao"
str_2: = "hey"
fmt.Println (stringhe.Confronta (str_1, str_2))

L'esempio sopra ritorna -1.

Possiamo anche passare stringhe letterali al metodo come:

fmt.Println (stringhe.Confronta ("hey", "hey"))
fmt.Println (stringhe.Confronta ("sql", "sql"))

Gli snippet sopra devono restituire un output come:

::produzione
0
-1

Metodo 3 - Metodo equalfold ()

Come noterai dall'esempio sopra, il metodo confronto () è sensibile al caso. Quindi se due stringhe non corrispondono ai casi, li considera non uguali.

Tuttavia, potremmo voler eseguire un confronto di stringhe senza eseguire una conversione in maiuscolo o minuscolo.

In tal caso, possiamo usare il metodo uguali (). Funziona in modo simile al metodo confronta () senza la sensibilità al caso.

Considera l'esempio seguente:

fmt.Println (stringhe.Equalfold ("sql", "sql")
VERO

La funzione restituisce un vero vero.

Conclusione

Questa guida ti porta in un tour dell'utilizzo di diversi metodi per eseguire il confronto delle stringhe nel linguaggio di programmazione Go.

Grazie per aver letto!