Màj du README
This commit is contained in:
parent
75f0c1350b
commit
79b5b534f3
82
README.md
82
README.md
|
@ -1,3 +1,83 @@
|
||||||
# gob
|
# gob
|
||||||
|
|
||||||
Ensemble de librairies personnalisées en Go
|
Ensemble de librairies personnalisées en Go
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
### collection
|
||||||
|
|
||||||
|
Le paquet **collection** contient quelques fonctions utiles pour la gestion des slices (ajout, insertion, comparaison de slices, différence, intersection, conversion, map/reduce, etc.).
|
||||||
|
|
||||||
|
Il implémente également quelques collections non présentes, à l’heure actuelle, dans la librairie standard :
|
||||||
|
|
||||||
|
- Les piles : collection.Stack
|
||||||
|
- Les files : collection.Queue
|
||||||
|
- Les collections d’éléments uniques : collection.Set
|
||||||
|
|
||||||
|
**collection/concurrent** est une sous-bibliothèque pour alimenter les slices et les maps de manière concurrente et en toute sécurité.
|
||||||
|
|
||||||
|
**collection/json** permet de gérer des objets json (modification, parcours, import, export).
|
||||||
|
|
||||||
|
### compare
|
||||||
|
|
||||||
|
Le paquet **compare** implémente différentes fonctions de comparaison de chaînes de caractères (insensible à la casse, tri naturel, prise en compte des accents, etc.), et permet d’aggréger plusieurs fonctions de comparaison.
|
||||||
|
|
||||||
|
### convert
|
||||||
|
|
||||||
|
Le paquet **convert** fournit le nécessaire pour convertir des variables typées en d’autres types de manière transparente. Types actuellement gérés :
|
||||||
|
|
||||||
|
- Booléens,
|
||||||
|
- Caractères (rune, byte),
|
||||||
|
- Entiers (int, int8, int16, int32, int64, uint, uint8, uint16, uint62, uint64),
|
||||||
|
- Nombres à virgule flottante (float32, float64),
|
||||||
|
- Nombres complexes (complex64, complex128),
|
||||||
|
- Chaînes de caractères,
|
||||||
|
- Collections (slice, map),
|
||||||
|
- Structures.
|
||||||
|
|
||||||
|
Tous ces types sont convertibles entre eux.
|
||||||
|
|
||||||
|
### format
|
||||||
|
|
||||||
|
Le paquet **format** fournit le nécessaire pour formater la sortie terminal :
|
||||||
|
|
||||||
|
- Alignement des entrées (utile pour afficher un tableau),
|
||||||
|
- Couleurs et styles (gras, italique, etc.).
|
||||||
|
|
||||||
|
Seuls les terminaux supportant les chaînes d’échappement ASCII sont supportés.
|
||||||
|
|
||||||
|
### ini
|
||||||
|
|
||||||
|
Le paquet **ini** permet de parser et de gérer des fichiers de configuration (générations avec l’extension .ini ou .conf).
|
||||||
|
|
||||||
|
### option
|
||||||
|
|
||||||
|
Le paquet **option** implémente en Go les types Option et Result existant dans certains langages de programmation (comme Rust).
|
||||||
|
|
||||||
|
### random
|
||||||
|
|
||||||
|
Le paquet **random** fournit des fonctions pour générer des variables avec des caractères aléatoires.
|
||||||
|
|
||||||
|
### secret
|
||||||
|
|
||||||
|
Le paquet **secret** permet de générer des hashs ou de chiffrer des chaînes de caractères.
|
||||||
|
|
||||||
|
### shell
|
||||||
|
|
||||||
|
Le paquet **shell** regroupe des sous-paquets dédiés à faciliter la programmation d’applications en ligne de commandes.
|
||||||
|
|
||||||
|
#### shell/command
|
||||||
|
|
||||||
|
**shell/command** définit des interfaces permettant de parser les arguments d’une commande saisie. Une implémentation fonctionnelle est fournie dans le sous-paquet **shell/command/flag**.
|
||||||
|
|
||||||
|
#### shell/console
|
||||||
|
|
||||||
|
**shell/console** définit des interfaces dédiés à la programmation de CLI (_Command Line Interface_). Il fournit également des fonctions pour récupérer directement des entrées saisies dans le terminal dans des variables.
|
||||||
|
|
||||||
|
#### shell/file
|
||||||
|
|
||||||
|
**shell/file** permet de récupérer de façon détaillée les informations d’un fichier ou d’une arborescence de fichiers.
|
||||||
|
|
||||||
|
#### shell/scanner
|
||||||
|
|
||||||
|
**shell/scanner** fournit un outil pour découper une ou plusieurs lignes de caractères en mots selon des critères définis (chaîne d’échappment, guillemets, etc.).
|
||||||
|
|
Loading…
Reference in New Issue