


Comment vérifier si l'entrée est constituée de lettres anglaises dans Golang
Jun 24, 2023 am 08:36 AMEn tant que langage, Golang propose de nombreuses méthodes pour faciliter la vérification et le traitement de nos données. Parmi eux, vérifier si l'entrée est constituée de lettres anglaises est une fonction de base. Cet article présentera deux fa?ons d'implémenter cette fonction dans Golang.
1. Utilisez des expressions régulières
Une expression régulière est une expression qui peut correspondre à des fragments de texte. Dans Golang, nous pouvons utiliser le package regexp dans la bibliothèque standard pour traiter et faire correspondre les expressions régulières. Voici un exemple de code pour vérifier si l'entrée est constituée de lettres anglaises?:
import ( "fmt" "regexp" ) func IsAlpha(data string) bool { match, _ := regexp.MatchString("^[a-zA-Z]+$", data) return match } func main() { str1 := "abcXYZ" // 合法的字母輸入 str2 := "abc123" // 非法的字母輸入 fmt.Println(str1, IsAlpha(str1)) fmt.Println(str2, IsAlpha(str2)) }
Dans cet exemple, nous utilisons l'expression régulière ^[a-zA-Z]+$
pour faire correspondre les cha?nes contenant uniquement des lettres majuscules et minuscules. Dans la fonction IsAlpha
, nous appelons la méthode MatchString
, qui accepte deux paramètres?: une cha?ne d'expression régulière et une cha?ne à mettre en correspondance. Cette méthode renvoie vrai si la cha?ne est conforme aux règles de l'expression régulière, c'est-à-dire qu'elle ne contient que des lettres majuscules et minuscules, sinon elle renvoie faux. ^[a-zA-Z]+$
來匹配只包含大寫和小寫字母的字符串。在 IsAlpha
函數中,我們調用了 MatchString
方法,該方法接受兩個參數:一個正則表達式字符串和一個需要匹配的字符串。如果字符串符合正則表達式的規(guī)則,即僅包含大小寫字母,則該方法返回 true,否則返回 false。
上述代碼的輸出如下:
abcXYZ true abc123 false
這種方法的缺點是,如果需要驗證的字符串很長或者需要驗證的頻率很高,則每次都調用正則表達式的匹配方法會比較耗時。下面介紹另一種驗證方式,可以避免這種情況。
2. 使用 ASCII 碼表
ASCII 碼表是一種用于表示字符的編碼方式,其中英文字母的編碼范圍是 A-Z 和 a-z。Golang 中的 unicode/utf8 包提供了一些函數來處理這種編碼方式的字符。如果我們知道輸入字符只有 ASCII 碼表中的字符,那么可以使用下面的代碼來驗證輸入是否為英文字母:
import ( "fmt" "unicode" ) func IsAlpha(data string) bool { for _, c := range data { if !unicode.IsLetter(c) { return false } } return true } func main() { str1 := "abcXYZ" // 合法的字母輸入 str2 := "abc123" // 非法的字母輸入 fmt.Println(str1, IsAlpha(str1)) fmt.Println(str2, IsAlpha(str2)) }
在這個例子中,我們使用了 unicode 包中的 IsLetter
rrreee
L'inconvénient de cette méthode est que si la cha?ne à vérifier est très longue ou la fréquence de vérification est élevé, il le sera. L'appel de la méthode de correspondance d'expression régulière peut prendre beaucoup de temps. Voici une autre méthode de vérification pour éviter cette situation. 2. Utilisez la table de codes ASCII #????##????#La table de codes ASCII est une méthode de codage utilisée pour représenter des caractères, où la plage de codage des lettres anglaises est A-Z et a-z. Le package unicode/utf8 de Golang fournit certaines fonctions pour gérer les caractères dans cet encodage. Si nous savons que les caractères saisis ne sont que des caractères de la table de codes ASCII, nous pouvons utiliser le code suivant pour vérifier si l'entrée est constituée de lettres anglaises?: #????#rrreee#????#Dans cet exemple, nous utilisons leIsLetter
pour déterminer si le caractère saisi est une lettre. Renvoie vrai si le caractère est une lettre, faux sinon. #????##????#L'avantage de cette méthode est qu'elle est plus efficace que les expressions régulières car elle ne nécessite pas de construire un arbre d'analyse d'expression régulière ni de correspondance. L'inconvénient est que si la cha?ne d'entrée contient des caractères qui ne figurent pas dans la table de codes ASCII, les résultats risquent de ne pas être ceux attendus. #????##????#En général, l'utilisation d'expressions régulières ou de tables de codes ASCII sont des moyens réalisables pour réaliser cette fonction. Dans les applications pratiques, nous devons prendre en compte la longueur et la complexité de la cha?ne d’entrée ainsi que la fréquence de vérification pour choisir une implémentation appropriée. #????#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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Lire et écrire des fichiers en toute sécurité dans Go est crucial. Les directives incluent : Vérification des autorisations de fichiers Fermeture de fichiers à l'aide de reports Validation des chemins de fichiers Utilisation de délais d'attente contextuels Le respect de ces directives garantit la sécurité de vos données et la robustesse de vos applications.

Golang est meilleur que C en concurrence, tandis que C est meilleur que Golang en vitesse brute. 1) Golang obtient une concurrence efficace par le goroutine et le canal, ce qui convient à la gestion d'un grand nombre de taches simultanées. 2) C Grace à l'optimisation du compilateur et à la bibliothèque standard, il offre des performances élevées près du matériel, adaptées aux applications qui nécessitent une optimisation extrême.

Golang convient au développement rapide et aux scénarios simultanés, et C convient aux scénarios où des performances extrêmes et un contr?le de bas niveau sont nécessaires. 1) Golang améliore les performances grace à des mécanismes de collecte et de concurrence des ordures, et convient au développement de services Web à haute concurrence. 2) C réalise les performances ultimes grace à la gestion manuelle de la mémoire et à l'optimisation du compilateur, et convient au développement du système intégré.

Chemin d'apprentissage du backend: le parcours d'exploration du front-end à l'arrière-end en tant que débutant back-end qui se transforme du développement frontal, vous avez déjà la base de Nodejs, ...

Quelles bibliothèques de GO sont développées par de grandes entreprises ou des projets open source bien connus? Lors de la programmation en Go, les développeurs rencontrent souvent des besoins communs, ...

Golang est meilleur que Python en termes de performances et d'évolutivité. 1) Les caractéristiques de type compilation de Golang et le modèle de concurrence efficace le font bien fonctionner dans des scénarios de concurrence élevés. 2) Python, en tant que langue interprétée, s'exécute lentement, mais peut optimiser les performances via des outils tels que Cython.

GO Language fonctionne bien dans la construction de systèmes efficaces et évolutifs. Ses avantages incluent: 1. Haute performance: compilé en code machine, vitesse de course rapide; 2. Programmation simultanée: simplifier le multitache via les goroutines et les canaux; 3. Simplicité: syntaxe concise, réduction des co?ts d'apprentissage et de maintenance; 4. Plate-forme multipliée: prend en charge la compilation multiplateforme, déploiement facile.

Golang et Python ont chacun leurs propres avantages: Golang convient aux performances élevées et à la programmation simultanée, tandis que Python convient à la science des données et au développement Web. Golang est connu pour son modèle de concurrence et ses performances efficaces, tandis que Python est connu pour sa syntaxe concise et son écosystème de bibliothèque riche.
