Golang Compare string

Golang Compare string
Como programadores, encontramos casos em que precisamos comparar strings. Pode ser que estamos verificando a entrada do usuário ou uma tarefa semelhante. Qualquer que seja a necessidade, é importante saber como executar comparações de string.

Ao longo deste artigo, inspecionaremos várias maneiras e métodos para executar operações de comparação de strings na linguagem de programação Go.

Método 1 - Operadores de comparação

A forma mais básica de comparação de strings é usar operadores de comparação Go. A seguir, são apresentados alguns operadores de comparação que você pode usar:

  1. == - Verificação de igualdade
  2. ! = - não é igual
  3. > = - maior ou igual a
  4. <= - less than or equal to

Vejamos alguns exemplos.

Operador de igualdade

O operador de igualdade permite verificar se o valor no lado esquerdo é igual ao do lado direito.

Podemos usar este operador para verificar se uma string é igual à outra.

Um exemplo é como mostrado:

Pacote principal
importar "fmt"
func main ()
str_1: = "mysql"
str_2: = "sql"
fmt.Println (str_1 == str_2)

No exemplo acima, verificamos se o valor da variável str_1 é igual ao valor da variável str_2.

Como as cordas não são iguais, o programa retorna false:

$ go run string_compare.ir
falso

É bom lembrar que o operador da igualdade chega para sensibilidade ao caso. Por exemplo, a seguinte comparação retorna falsa:

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

Se você deseja realizar uma comparação insensível ao caso, primeiro converta as cordas em minúsculas ou maiúsculas (como você vê o ajuste) ou usar o método A integrado (coberto posteriormente).

O exemplo a seguir mostra como converter as cordas em maiúsculas ou minúsculas:

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

As comparações acima retornam verdadeiras, pois ambas as cordas são iguais.

Não é igual o operador

Você também pode usar o operador não igual (!=). Funciona intimamente semelhante ao operador de igualdade, exceto que retorna a versão negada do resultado. Portanto, se duas cordas são iguais, o operador não igual retorna falsa.

Um exemplo é como mostrado:

Pacote principal
importar "fmt"
func main ()
str_1: = "mysql"
str_2: = "sql"
fmt.Println (str_1 != str_2)

Aqui, as duas cordas não são iguais. Isso significa que o operador não igual retorna verdadeiro.

:: saída
verdadeiro

Operadores lexicográficos

Você pode realizar a comparação lexicográfica usando maior que, menor que, maior ou igual a e menor ou igual a. A comparação lexicográfica se compara se as cordas são de igual tempo e se os caracteres estiverem em uma posição semelhante (em ordem alfabética).

Considere o código de exemplo mostrado abaixo:

Pacote principal
importar "fmt"
func main ()
fmt.Println ("ABCD"> "ABCD")
fmt.Println ("ABCD" = "ABCD")
fmt.Println ("DEFC" <= "abcd")

O programa de exemplo acima realiza uma comparação lexicográfica com as strings especificados. A saída resultante é como mostrado:

falso
verdadeiro
verdadeiro
falso

Método 2 - Compare () Método

O pacote Strings nos fornece um método interno para executar a comparação de string. O método compare () leva duas cordas são seus argumentos.

A função retorna:

  1. 0 Se as duas cordas forem iguais.
  2. 1 Se a primeira string for maior que a segunda.
  3. -1 Se a primeira string for menor que a segunda.

Nota: A grandeza e menos nezod das cordas são determinadas por uma comparação lexicográfica.

O exemplo abaixo ilustra como usar o método compare ().

Pacote principal
importação (
"FMT"
"cordas"
)
func main ()
str_1: = "Olá"
str_2: = "hey"
fmt.Println (Strings.Compare (str_1, str_2))

O exemplo acima retorna -1.

Também podemos passar strings literais para o método como:

fmt.Println (Strings.Compare ("Hey", "Hey"))
fmt.Println (Strings.Compare ("SQL", "SQL")))

Os trechos acima devem retornar uma saída como:

::saída
0
-1

Método 3 - Método Equalfold ()

Como você notará no exemplo acima, o método compare () é sensível ao caso. Portanto, se duas cordas não correspondem a casos, isso os considera não iguais.

No entanto, podemos querer executar a comparação de strings sem realizar uma conversão em maiúsculas ou minúsculas.

Nesse caso, podemos usar o método Equalfold (). Funciona de maneira semelhante ao método compare () sem a sensibilidade do caso.

Considere o exemplo abaixo:

fmt.Println (Strings.Equalfold ("SQL", "SQL")))
verdadeiro

A função retorna um verdadeiro booleano.

Conclusão

Este guia leva você a um tour pelo uso de vários métodos para executar a comparação de strings na linguagem de programação GO.

Obrigado pela leitura!