La función Compare() es una función incorporada en el lenguaje de programación Golang que se utiliza para comparar dos strings. Se utiliza para comparar dos strings en orden lexicográfico (orden en el que las palabras están ordenadas alfabéticamente, de forma similar a como buscamos palabras en el diccionario) o para averiguar si las strings son iguales o no. Devuelve un valor entero de la siguiente manera:
Sintaxis:
func Compare(s1, s2 string) int
- Devuelve 0 si las strings son iguales (s1==s2)
- Devuelve 1 si la string 1 es mayor que la string 2 (s1 > s2)
- Devuelve -1 si la string 1 es menor que la string 2 (s1 < s2)
Ejemplo 1:
// Golang program to illustrate the use of // the strings.Compare() Function package main import ( "fmt" "strings" ) func main() { var s1 = "Geeks" var s2 = "GeeksforGeeks" var s3 = "Geeks" // using the function fmt.Println(strings.Compare(s1, s2)) fmt.Println(strings.Compare(s2, s3)) fmt.Println(strings.Compare(s3, s1)) }
Producción:
-1 1 0
Explicación: La primera salida es -1 ya que la primera string es «Geeks», que es lexicográficamente menor que la segunda string «GeeksforGeeks». La segunda salida es 1 ya que la primera string es «GeeksforGeeks», que es lexicográficamente mayor que la segunda string «Geeks». La tercera salida viene como 0 ya que la primera string es «Geeks», que es igual a la segunda string «Geeks».
Ejemplo 2:
// Golang program to illustrate the use of // the strings.Compare() Function package main import ( "fmt" "strings" ) func main() { var s1 = "apple" var s2 = "Apple" var s3 = "Apricot" // using the function fmt.Println(strings.Compare(s1, s2)) fmt.Println(strings.Compare(s2, s3)) fmt.Println(strings.Compare(s3, s1)) }
Producción:
1 -1 -1
Explicación: la primera salida es 1 porque la primera string es «manzana», que es lexicográficamente mayor que la segunda string «manzana», ya que los caracteres se comparan secuencialmente de izquierda a derecha utilizando el juego de caracteres Unicode y el valor ASCII de ‘a’ es 97 y el de ‘A’ es 65. Por lo tanto manzana es mayor que manzana.
La segunda salida es -1 ya que la primera string es «Apple», que es lexicográficamente menor que la segunda string «Apricot». La tercera salida viene como -1 ya que la primera string es «Albaricoque», que es lexicográficamente menor que la segunda string «manzana», ya que ‘A’ es menor que ‘a’.