Introduction
Dans ce projet, vous allez apprendre à implémenter un interpréteur de commentaires JSON. Cette fonction est pratique lorsqu'on travaille avec des fichiers de configuration JSON, car elle vous permet d'ajouter des commentaires pour expliquer le raisonnement derrière certaines paramètres.
👀 Aperçu
$ /usr/local/go/bin/go test
PASS
ok jsonex 0.002s
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment initialiser un module Go et configurer l'environnement nécessaire
- Comment implémenter une fonction d'analyse de commentaires JSON qui prend en charge le caractère
#comme commentaire - Comment gérer les cas où le caractère
"est présent dans le contenu de la chaîne - Comment tester la fonction d'analyse de commentaires JSON
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Comprendre comment travailler avec les modules Go et configurer un environnement de développement
- Implémenter un analyseur JSON personnalisé qui prend en charge les commentaires
- Écrire des tests pour vous assurer de la correction de votre fonction d'analyse de commentaires JSON
- Appliquer vos nouvelles connaissances pour enrichir vos fichiers de configuration JSON avec des commentaires informatifs
Initialiser le projet
Dans cette étape, vous allez apprendre à initialiser le projet et à configurer l'environnement nécessaire. Suivez les étapes ci-dessous pour terminer cette étape :
Ouvrez un terminal et accédez au répertoire
/home/labex/project.Initialisez le module Go à l'aide de la commande suivante :
/usr/local/go/bin/go mod init jsonexInstallez les packages requis en exécutant la commande suivante :
/usr/local/go/bin/go get github.com/stretchr/testify/assert
Implémenter la fonction d'analyse des commentaires JSON
Dans cette étape, vous allez apprendre à implémenter la fonction d'analyse de commentaires JSON. Suivez les étapes ci-dessous pour terminer cette étape :
Ouvrez le fichier
jsonex.godans l'éditeur.La fonction
Unmarshalest utilisée pour analyser les données encodées au format JSON et stocker le résultat.- Prendre en charge le caractère
#comme caractère de commentaire dans le JSON, et tout ce qui se trouve après ce caractère doit être considéré comme un commentaire. - Lorsque le caractère
"est présent dans le contenu de la chaîne, il doit être représenté comme\", et le caractère\doit être représenté comme\\.
- Prendre en charge le caractère
Implémentez la fonction
trimCommentsLinepour vérifier si une ligne est un commentaire ou non. Si ce n'est pas un commentaire, renvoyez la ligne elle-même.Le code complet de la fonction
trimCommentsLinedevrait être le suivant :// trimCommentsLine vérifie si la ligne est un commentaire ou non, si ce n'est pas le cas, renvoie la ligne elle-même func trimCommentsLine(line []byte) []byte { var newLine []byte var i, quoteCount int lastIdx := len(line) - 1 for i = 0; i <= lastIdx; i++ { // si le caractère est '\' if line[i] == '\\' { // si l'index n'est pas le dernier index, vérifiez si le caractère suivant est '"' ou '\', si c'est le cas, ajoutez-le if i!= lastIdx && (line[i+1] == '\\' || line[i+1] == '"') { newLine = append(newLine, line[i], line[i+1]) i++ continue } } // si le caractère est '"', augmentez le compteur de guillemets if line[i] == '"' { quoteCount++ } // si le caractère est '#' if line[i] == '#' { // si le compteur de guillemets est pair, arrêtez-vous, car le '#' n'est pas dans la chaîne, // mais dans le commentaire if quoteCount%2 == 0 { break } } newLine = append(newLine, line[i]) } return newLine }
Tester la fonction d'analyse des commentaires JSON
Dans cette étape, vous allez apprendre à tester la fonction d'analyse de commentaires JSON. Suivez les étapes ci-dessous pour terminer cette étape :
Ouvrez un terminal et accédez au répertoire
/home/labex/project.Exécutez la commande suivante pour exécuter les tests :
cd /home/labex/project /usr/local/go/bin/go testSi les tests réussissent, vous verrez la sortie suivante :
PASS ok jsonex 0.002sSi vous rencontrez une erreur de temps d'attente, exécutez les commandes suivantes dans le terminal puis cliquez sur le bouton de reinspection pour passer le contrôle :
cd /home/labex/project /usr/local/go/bin/go test
Félicitations! Vous avez réussi à implémenter la fonction d'analyse de commentaires JSON et à la tester. Vous pouvez désormais utiliser cette fonction dans votre projet.
Résumé
Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires dans LabEx pour améliorer vos compétences.



