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