Maison > développement back-end > Golang > le corps du texte

Comment implémenter la comparaison de chaînes en utilisant le langage Go

青灯夜游
Libérer: 2023-02-08 17:35:11
original
6807 Les gens l'ont consulté

Comment comparer des chaînes en langage Go : 1. Utilisez l'opérateur "==", la syntaxe "String 1 == String 2" ; 2. Utilisez la fonction ToLower() du package strings ; Utiliser La fonction Compare() du package strings peut comparer deux chaînes dans l'ordre du dictionnaire, avec la syntaxe "strings.Compare(str1,str2)" ; 4. Utilisez la fonction EqualFold() du package strings pour comparer les chaînes en ignorant la casse. La valeur de retour est de type booléen.

Comment implémenter la comparaison de chaînes en utilisant le langage Go

L'environnement d'exploitation de ce tutoriel : système Windows 7, GO version 1.18, ordinateur Dell G3.

Méthode 1 : Utilisez l'opérateur "==" (sensible à la casse)

package main

import "fmt"

func main() {
   fmt.Println("go"=="go")
   fmt.Println("GO"=="go")
}
Copier après la connexion

Sortie :

true
false
Copier après la connexion

méthode 2 : Utilisez strings.ToLower (insensible à la casse)

package main

import (
    "fmt"
    "strings"
)

func main() {
    srcString := "This a string"
    destString := "this a string"

    if strings.ToLower(srcString) == strings.ToLower(destString) {
        fmt.Println("相等")
    } else {
        fmt.Println("不相等")
    }
}
Copier après la connexion

Sortie :

相等
Copier après la connexion

Méthode 3 : Utiliser strings.Compare (sensible à la casse)

La fonction Compare() est une fonction intégrée au langage de programmation Golang, utilisée pour comparer deux chaînes. Il est utilisé pour comparer deux chaînes lexicographiquement (en classant les mots par ordre alphabétique, de la même manière que nous recherchons des mots dans un dictionnaire), ou pour déterminer si les chaînes sont égales. Il renvoie une valeur entière comme suit :

func Compare(s1, s2 string) int
Copier après la connexion
  • Si les chaînes sont égales (s1 == s2), il renvoie 0

  • if Si la chaîne 1 est supérieure à la chaîne 2 (s1> s2), 1 est renvoyé.

  • Si la chaîne 1 est inférieure à la chaîne 2, renvoie -1 (s1

Exemple :

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.Compare("GO","go"))
    fmt.Println(strings.Compare("go","go"))
}
Copier après la connexion

Sortie :

-1
0
Copier après la connexion

Fonction de comparaison, sensible à la casse, plus rapide que la méthode auto-construite "==", voici le commentaire
/ La comparaison est incluse uniquement pour la symétrie avec les octets du package.
// Il est généralement plus clair et toujours plus rapide d'utiliser les
// opérateurs de comparaison de chaînes intégrés ==, <, >, et ainsi de suite.
func Compare(a , b string) int

Méthode 4 : Utiliser strings.EqualFold (insensible à la casse)

strings.EqualFold n'est pas sensible à la casse Comparez, return bool

package main

import (
    "fmt"
    "strings"
)

func main() {
   fmt.Println(strings.EqualFold("GO","go"))
   fmt.Println(strings.EqualFold("go","go"))
}
Copier après la connexion

Sortie :

true
true
Copier après la connexion

Apprentissage recommandé : Tutoriel Golang

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal