Le langage
go est adapté à la programmation. Le langage Go lui-même est un langage de programmation concurrent, compilé et statiquement fortement typé avec une fonction de récupération de place. Le langage Go a de nombreuses utilisations et peut être utilisé pour la programmation réseau, la programmation système, la programmation simultanée et la programmation distribuée. en tant que programmation serveur, le langage est très approprié pour traiter une série de problèmes tels que les journaux, le conditionnement des données, le traitement des machines virtuelles, les systèmes de fichiers, les systèmes distribués, les agents de base de données, etc., y compris la programmation réseau, qui est actuellement la plus largement utilisée. , telles que les applications Web, les applications API, les applications de téléchargement, etc.
L'environnement d'exploitation de ce tutoriel : système Windows 10, version go1.20.1, ordinateur Dell G3.
Le langage Go, également connu sous le nom de Golang, est un langage de programmation statiquement fortement typé, compilé, simultané et de récupération de place développé par Google.
Le langage Go (ou Golang) est né en 2007 et a été officiellement publié en 2009. Go est un langage très jeune, et son objectif principal est « d'avoir à la fois la vitesse de développement des langages dynamiques comme Python et les performances et la sécurité des langages compilés comme C/C++ ».
Le langage Go est une autre tentative de conception de langage de programmation et une amélioration majeure par rapport aux langages de type C. Il vous permet non seulement d'accéder au système d'exploitation sous-jacent, mais fournit également une programmation réseau puissante et une prise en charge de la programmation simultanée. Le langage Go a de nombreuses utilisations et peut être utilisé pour la programmation réseau, la programmation système, la programmation simultanée et la programmation distribuée :
Programmation serveur Si vous avez utilisé C ou C++ pour faire ces choses auparavant, Go est très approprié pour les faire, comme. comme le traitement des journaux et des données, le traitement des machines virtuelles, les systèmes de fichiers, etc.
Systèmes distribués, agents de base de données, middleware, etc., tels qu'Etcd.
La programmation réseau est actuellement la plus largement utilisée, y compris les applications Web, les applications API, les applications de téléchargement et le package net/http intégré de Go implémente essentiellement toutes les fonctions réseau que nous utilisons habituellement.
Le lancement du langage Go vise à réduire la complexité du code sans perdre les performances des applications. Il présente les avantages d'un « déploiement simple, d'une bonne concurrence, d'une bonne conception du langage et de bonnes performances d'exécution ». Actuellement, de nombreuses entreprises informatiques nationales l'utilisent. Allez langage pour développer des projets.
De nombreux projets open source importants sont développés à l'aide du langage Go, notamment Docker, Go-Ethereum, Thrraform et Kubernetes.
langage go
Le premier code source du langage Go a été écrit en langage C et en langage assembleur. À partir de la version Go 1.5, il est entièrement écrit dans le langage Go lui-même. Le code source du langage Go revêt une grande importance de référence pour comprendre la planification sous-jacente du langage Go. Il est recommandé aux lecteurs qui souhaitent avoir une compréhension approfondie du langage Go de le lire.
Kubernetes
Un service de planification de conteneurs basé sur Docker développé par Google. Les utilisateurs peuvent gérer des clusters de conteneurs cloud via des clusters Kubernetes.
etcd
Un système de stockage KV distribué et fiable qui peut être rapidement configuré dans le cloud.
beego
beego est un framework Tornado de type Python qui adopte l'idée de conception RESTFul et est un framework d'application Web extrêmement léger, hautement évolutif et hautes performances écrit en langage Go.
martini
Un framework Web pour créer rapidement des applications Web modulaires.
codis
Excellente solution Redis distribuée nationale. Le puissant débogueur du langage
delve
Go est intégré à de nombreux environnements et éditeurs intégrés.
Facebook l'utilise également. Pour cette raison, ils ont également créé une organisation open source facebookgo sur Github. Vous pouvez consulter les projets open source de Facebook en visitant, comme la fameuse grâce de mise à niveau fluide.
Tencent
En tant que grande entreprise nationale, Tencent ose encore essayer, notamment dans le domaine de la conteneurisation Docker. Elle a mis en œuvre des dizaines de milliers d'unités Docker en 15 ans. Pour plus de détails, veuillez vous référer à
http://. www.infoq.com/cn/articles/tencent-millions-scale-docker-application-practice
Baidu
L'utilisation actuellement connue de Baidu concerne l'exploitation et la maintenance. Il s'agit d'un projet BFE d'exploitation et de maintenance de Baidu. , responsable de l’accès au trafic frontal. Leur responsable l'a partagé en 2016. Vous pouvez jeter un œil à ceci http://www.infoq.com/cn/presentations/application-of-golang-in-baidu-frontend
Le deuxième est le système de messagerie de Baidu. Responsable du développement et de la maintenance du côté serveur du système de messagerie mobile de l'entreprise.
Jingdong
Le système push de messages Jingdong Cloud, le stockage cloud et Jingdong Mall sont tous développés à l'aide de Go.
Xiaomi
Le support de Xiaomi pour Golang n'est rien de plus que le système open source de surveillance de l'exploitation et de la maintenance, qui est http://open-falcon.com/.
De plus, Xiaomi Interactive Entertainment, Xiaomi Mall, Xiaomi Video, Xiaomi Ecological Chain et d'autres équipes utilisent Golang.
360
360 utilise également beaucoup Golang. L'un d'entre eux est le système de recherche de journaux open source Poseidon, qui est hébergé sur Github.
L'équipe push de 360 l'utilise également. Ils ont également écrit un article de blog sur le site officiel de Golang. sur le blog.
Meituan
Programme de support du trafic backend Meituan. Champ d'application : prend en charge le trafic backend du site Web principal (tri, recommandation, recherche, etc.), fournit l'équilibrage de charge, le cache, la tolérance aux pannes, la distribution conditionnelle, les indicateurs de fonctionnement statistiques (qps, latence) et d'autres fonctions.
Didi
Plateforme de services de base.
Jinshan Weikan
Portée de l'application : interface de service, service de processus en arrière-plan, système de messagerie, système d'image
Sogou
Système push Sogou. La partie du système Push utilisée pour maintenir les connexions avec les clients.
. . . . .
Écrit à la fin
Bien sûr, la possibilité de développer une technologie dépend de trois points clés. (Les opinions suivantes sont tirées de https://www.cnblogs.com/qwangxiao/p/8318894.html)
• Existe-t-il une meilleure communauté ? Les écosystèmes C, C++, Java, Python et JavaScript sont tous très riches et populaires. En particulier, les communautés auxquelles participent de nombreuses organisations commerciales sont encore plus populaires, comme la communauté Linux.
• Existe-t-il une norme industrielle ? C, C++ et Java disposent tous d’organisations de normalisation. Java, en particulier, a développé des normes d'entreprise comme J2EE en termes d'architecture.
• Existe-t-il une ou plusieurs applications géniales ? Il va sans dire que les applications phares de C, C++ et Java, même pour PHP, qui n'est pas encore un bon langage de programmation, sont des technologies clés de LAMP, la première solution phare de l'ère Linux, donc également développée. Les trois points ci-dessus sont très critiques. Les nouvelles technologies n'ont besoin d'en prendre en compte qu'un ou deux pour être très bonnes. De plus, certaines technologies, comme Java, représentent les trois points. C'est pourquoi le développement de Java est si bon. .
Bien sûr, en plus des trois points importants ci-dessus, il existe également d'autres facteurs d'influence, tels que :
Si la courbe d'apprentissage est faible et s'il est rapide de démarrer. C’est très important, et le C++ est de pire en pire à ce stade. Existe-t-il un bon cadre de développement qui améliore l’efficacité du développement ? Tels que : le framework Spring de Java, le STL de C++, etc. Est-il soutenu par une ou plusieurs entreprises technologiques géantes ? Par exemple : IBM et Sun derrière Java et Linux... ont-ils résolu les problèmes du développement logiciel ? Par exemple : Java résout les problèmes de gestion de la mémoire du C et du C++.
En utilisant ces règles pour mesurer le langage Go, nous pouvons clairement voir :
Le langage Go est facile à utiliser ;
Le langage Go résout les problèmes liés à la programmation simultanée et à l'efficacité du développement d'applications de bas niveau ; Google dans le monde Les entreprises technologiques de premier ordre sont derrière ;
L'application phare du langage Go est Docker, et l'écosystème Docker a complètement explosé ces dernières années.
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!