Maison  >  Article  >  développement back-end  >  Le langage sous-jacent de Golang est-il basé sur le langage C ?

Le langage sous-jacent de Golang est-il basé sur le langage C ?

青灯夜游
青灯夜游original
2020-04-17 14:06:389955parcourir

Golang (également connu sous le nom de langage Go) est un langage de programmation concurrent, compilé et statiquement fortement typé, doté de capacités de récupération de place développées par Google. La syntaxe est similaire à celle du C, mais les fonctions incluent : la sécurité de la mémoire, le GC (garbage collection), la forme structurelle et le calcul simultané de style CSP.

Le langage sous-jacent de Golang est-il basé sur le langage C ?

Le langage C sous-jacent est-il du golang ?

À ses débuts, Golang a été implémenté en langage et en assembleur C.

Plus tard, Golang a implémenté le bootstrap et réécrit le compilateur, il est donc maintenant implémenté en utilisant Golang lui-même.

Si vous inventez un nouveau langage CNifeLang, vous devez d'abord écrire un compilateur CNifeLang dans un langage existant, par exemple, utilisez Golang, vous écrivez un CNifeLang en Golang Le compilateur peut compiler avec succès n'importe quel CNifeLang légal ; code source dans un programme cible équivalent. Utilisez ensuite CNifeLang pour écrire un programme qui a la même fonction que le compilateur que vous avez écrit dans Golang. Utilisez le compilateur implémenté dans Golang pour compiler le programme et vous obtiendrez un compilateur CNifeLang implémenté dans CNifeLang. Étant donné que la fonction de ce programme est exactement la même que celle du compilateur écrit en Golang, vous pouvez utiliser ce compilateur pour compiler CNifeLang, afin que CNifeLang implémente le bootstrap.

-----Extrait de Zhihu, auteur : CNife

Extension :

golang (go) est un processus Langage de programmation pour une compilation rapide du code machine. C'est un langage compilé à typage statique. Il fournit un mécanisme de concurrence qui facilite le développement de programmes multicœurs et en réseau au niveau machine. Il s'agit d'un langage rapide, typé et interprété de manière dynamique ; il prend en charge les interfaces et l'intégration de types.

Caractéristiques

  • Syntaxe simple

    Le langage Go est simple et facile à apprendre, avec une courbe d'apprentissage douce. Il ne nécessite pas deux à trois ans. comme la période d'apprentissage du langage C/C++. Le langage Go est appelé « langage C de l’ère Internet ». Le style du langage Go est similaire à celui du langage C. Sa syntaxe a été considérablement simplifiée sur la base du langage C et les crochets d'expression inutiles ont été supprimés. La boucle n'a qu'une seule méthode d'expression, for, qui peut réaliser diverses traversées telles que des valeurs numériques et des valeurs clés.

  • Style de code uniforme

    Le langage Go fournit un ensemble d'outils de formatage - go fmt. Certains environnements ou éditeurs de développement du langage Go utiliseront des outils de formatage pour modifier le format du code lors de l'enregistrement, garantissant ainsi que le code soumis par les différents développeurs est dans un format unifié.

  • Bonnes performances d'exécution

    Le langage Go est un langage compilé Le code que nous écrivons est directement compilé dans un fichier exécutable binaire qui peut être exécuté par le serveur.

  • Haute efficacité de développement

    Bien que le langage Go soit un langage compilé, il dispose d'un mécanisme de récupération de place intégré, ce qui réduit la charge mentale des développeurs et le rend plus efficace. Il a la même efficacité de développement que les langages interprétés tels que Python et PHP. Il réalise véritablement la combinaison parfaite d’efficacité de développement et d’efficacité d’exécution.

  • Prise en charge innée de la concurrence

    Go est sorti en 2009, alors que les processeurs multicœurs étaient déjà sur le marché. Le langage Go présente des avantages de conception natifs dans la concurrence multicœur. Le langage Go prend en charge de manière native la concurrence de bas en haut, sans avoir besoin de bibliothèques tierces, de compétences en programmation et d'expérience en développement des développeurs.

Apprentissage recommandé : Tutoriel Golang

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn