Découvrez si var in go peut initialiser la structure
Cet article est introduit par la colonne tutoriel go language sur la question de savoir si var peut initialiser la structure en golang. J'espère qu'il sera utile aux amis dans le besoin !
Contexte
Le petit article précédent a simplement utilisé goland pour créer la démo golang la plus simple. Il n'a aucune valeur pratique et utilise moins de syntaxe golang. Dans cette section, nous effectuons une opération crud simple et comprenons rapidement certaines opérations courantes de. golang, et être capable de maîtriser la syntaxe de base de golang
Comprendre la syntaxe à l'avance
- Convertir la chaîne en int Utiliser la méthode strconv.Atoi dans golang
La valeur de retour de la méthode dans golang Là peut être multiple, c'est différent de java, par exemple, la méthode map[id], la première valeur de retour est value, la deuxième valeur de retour est de type bool, indiquant s'il y a
et la sérialisation json en java La méthode est plus similaire, la désérialisation est la méthode json.Unmarshal, le premier paramètre est un tableau d'octets, le deuxième paramètre est l'"adresse" de l'objet sérialisé, ajoutez un &, la méthode de sérialisation est la méthode json.Marshal, faites attention à le tableau d'octets renvoyé par cette méthode
La syntaxe utilisée dans la section ci-dessus est souvent utilisée dans les exercices suivants. Les amis peuvent simplement la mémoriser
Exercices
1. pour compléter l'ajout, la suppression et la modification de cette instance de structure. Nous définissons une structure comme indiqué ci-dessous, avec trois attributs Id, Name, Age
2 Parce que l'ajout se fait en mémoire Pour la vérification de la suppression et de la modification, le. La base de données n'est pas utilisée, nous devons donc définir une variable globale comme Java et l'utiliser comme conteneur pour enregistrer les données. Comme le montre le code source ci-dessous, nous utilisons le mot-clé var pour définir une carte de variable globale et initialiser un enregistrement
3. Définissez ensuite quatre "RequestMapping" comme indiqué ci-dessous
3.1 La logique principale de la méthode getUser est d'obtenir l'identifiant du paramètre transmis, puis d'obtenir les informations utilisateur de base à partir de la variable globale en fonction de l'identifiant.
3.2 saveUser, nous traitons les requêtes POST. Maintenant, en développement, nous analysons généralement les données json transmises à celles correspondantes, puis les enregistrons dans nos variables globales
3.3 updateUser est similaire à saveUpdate For. simplicité, nous ne jugeons ici que si l'identifiant correspondant existe dans la carte globale, changez l'objet utilisateur correspondant à cet identifiant sans effectuer de comparaison et de remplacement d'attribut
3.4 deleteUser est encore plus simple, supprimez simplement l'identifiant correspondant dans la carte
Test
1.getTest de l'utilisateur
2.saveTest de l'utilisateur
3.updateTest de l'utilisateur
4.
Résumé
Cette section complète principalement l'ajout, la suppression, la modification et la recherche dans la mémoire. En fait, si vous maîtrisez parfaitement la grammaire de base du golang, vous aurez certainement l'impression que c'est enfantin, mais cela n'a pas d'importance, certains nouveaux étudiants gagneront certainement quelque chose, si vous regardez attentivement le code ci-dessus, vous constaterez qu'il n'y a que deux façons pour nous d'analyser les paramètres. L'une est localhost:9090/user?id=. 1, quel est le moyen d'obtenir l'identifiant. Get est d'obtenir le json dans la requête de publication, si nous imaginons que @requestMapping(value="/user/{name}/ au printemps mvc est localhost:9090/user?id= 1, la façon d'obtenir l'identifiant est d'obtenir l'identifiant dans la demande de publication json, si nous voulons faire cela comme @requestMapping(value="/user/{name}/{id}") dans spring mvc, ce sera le cas. ne fonctionne pas, puis obtenez les paramètres via la méthode @pathvariable, ce qui est très utile dans notre travail quotidien, mais malheureusement, golang ne prend pas en charge nativement un travail de liaison de paramètres aussi complexe. Nous allons résoudre ce problème via une structure de données Trie
. Adresse du code source
https://github.com/BazingaLyn /jarvis
Si vous aimez cette série de tutoriels d'introduction, j'espère que vous pourrez suivre et aimer la collection Merci pour votre qualité~
Œuf de Pâques.
Si vous tapez le code à la main, vous constaterez que (écrivain http.ResponseWriter, request *http.Request) doit être écrit plusieurs fois. Goland fournit une méthode pour générer rapidement des touches de raccourci. Cependant, les paramètres des touches de raccourci de chacun peuvent. être différent, mais vous pouvez utiliser la méthode suivante pour générer rapidement une méthode
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

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.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à 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)

OpenSSL, en tant que bibliothèque open source largement utilisée dans les communications sécurisées, fournit des algorithmes de chiffrement, des clés et des fonctions de gestion des certificats. Cependant, il existe des vulnérabilités de sécurité connues dans sa version historique, dont certaines sont extrêmement nocives. Cet article se concentrera sur les vulnérabilités et les mesures de réponse communes pour OpenSSL dans Debian Systems. DebianopenSSL CONNUTS Vulnérabilités: OpenSSL a connu plusieurs vulnérabilités graves, telles que: la vulnérabilité des saignements cardiaques (CVE-2014-0160): cette vulnérabilité affecte OpenSSL 1.0.1 à 1.0.1F et 1.0.2 à 1.0.2 Versions bêta. Un attaquant peut utiliser cette vulnérabilité à des informations sensibles en lecture non autorisées sur le serveur, y compris les clés de chiffrement, etc.

La bibliothèque utilisée pour le fonctionnement du numéro de point flottante dans le langage go présente comment s'assurer que la précision est ...

Problème de threading de file d'attente dans Go Crawler Colly explore le problème de l'utilisation de la bibliothèque Crawler Crawler dans le langage Go, les développeurs rencontrent souvent des problèmes avec les threads et les files d'attente de demande. � ...

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, ...

Cet article présente une variété de méthodes et d'outils pour surveiller les bases de données PostgreSQL sous le système Debian, vous aidant à saisir pleinement la surveillance des performances de la base de données. 1. Utilisez PostgreSQL pour reprendre la surveillance Afficher PostgreSQL lui-même offre plusieurs vues pour surveiller les activités de la base de données: PG_STAT_ACTIVITY: affiche les activités de la base de données en temps réel, y compris les connexions, les requêtes, les transactions et autres informations. PG_STAT_REPLIcation: surveille l'état de réplication, en particulier adapté aux grappes de réplication de flux. PG_STAT_DATABASE: Fournit des statistiques de base de données, telles que la taille de la base de données, les temps de validation / recul des transactions et d'autres indicateurs clés. 2. Utilisez l'outil d'analyse de journaux pgbadg

Le problème de l'utilisation de Redessstream pour implémenter les files d'attente de messages dans le langage GO consiste à utiliser le langage GO et redis ...

La différence entre l'impression de chaîne dans le langage go: la différence dans l'effet de l'utilisation de fonctions println et string () est en Go ...

Dans le cadre du cadre de beegoorm, comment spécifier la base de données associée au modèle? De nombreux projets Beego nécessitent que plusieurs bases de données soient opérées simultanément. Lorsque vous utilisez Beego ...
