Est-ce que Go fournit REPL?

L’environnement interactif est très utile pour un programmeur. Cependant, il semble que Go ne le fournisse pas. Est-ce que ma compréhension est correcte?

Non, Go ne fournit pas de REPL.

Cependant, comme déjà mentionné, Go Playground (c’est la nouvelle URL) est très pratique. Les Go Authors pensent également à append un éditeur riche en fonctionnalités.

Si vous voulez quelque chose de local, envisagez d’installer hsandbox . Le hsandbox go simplement avec hsandbox go divisera l’écran de votre terminal (avec screen ) où vous pourrez écrire du code en haut et voir son exécution en bas à chaque sauvegarde.

Il y avait un gotry parmi les commandes standard de Go, qui utilisait pour évaluer les expressions (avec un nom de paquet optionnel), et pourrait être exécuté comme gotry 1+2 et gotry fmt 'Println("hello")' du shell. Il n’est plus disponible parce que peu de gens l’utilisaient réellement.

J’ai également vu des projets de tiers pour la construction d’une REPL pour Go, mais maintenant je ne peux trouver que des liens vers deux d’entre eux: igo et go-repl . Comment fonctionnent-ils? Je ne sais pas.

Mes deux cents: La rapidité de la compilation rend l’écriture d’une REPL possible pour Go, car cela a aussi aidé à créer les outils mentionnés ici, mais la même vitesse rend la REPL moins nécessaire. Chaque fois que je veux tester quelque chose dans Go, je ne peux pas courir sur Playground J’ouvre un simple fichier .go et commence à coder et lance simplement le code. Cela sera encore plus facile lorsque la commande go de Go 1 rend le processus de génération en une seule commande possible et plus simple.

UPDATE: Dernière version hebdomadaire de la commande Go added go qui permet de créer très facilement un fichier: écrivez votre fichier prog.go et lancez go build prog.go && ./prog

MISE À JOUR 2 : Avec Go 1, vous pouvez exécuter directement les programmes go run filename.go avec le go run filename.go

MISE À JOUR 3 : gore est un nouveau projet qui semble intéressant.

Essayez les motemen / gore

Encore une autre Go REPL qui fonctionne bien. En vedette avec l’édition de ligne, l’achèvement du code et plus encore.

https://github.com/motemen/gore

entrer la description de l'image ici

Vous avez également un projet récent (mars 2013) appelé gore de Sriram Srinivasan , qui peut être utile:

gore est un évaluateur de ligne de commande pour le code golang – une REPL sans boucle, si vous voulez.
C’est un remplacement pour le terrain de jeu, tout en facilitant grandement l’essai interactif de morceaux de code: gore fournit automatiquement un code de plaque chauffante tel que des déclarations d’importation et de paquet et un wrapper de fonction principal .
De plus, étant donné qu’il fonctionne sur votre propre ordinateur, aucun code n’est rejeté pour des raisons de sécurité (contrairement au mode sandbox sécurisé de Go playground).

Avez-vous essayé le terrain de jeu Go ?

A propos du terrain de jeu Go

The Go Playground est un service Web qui s’exécute sur les serveurs de golang.org. Le service reçoit un programme Go, comstack, lie et exécute le programme dans un sandbox, puis renvoie la sortie.

Le projet GoSpeccy comprend une REPL intégrée d’un sous-ensemble restreint de la langue Go. L’implémentation utilise goeval .

Si vous êtes un utilisateur de Vim, le plug-in vim-go ( https://github.com/fatih/vim-go ) fournit une commande (GoRun) pour exécuter et imprimer la sortie du tampon actuel. Vous devez toujours inclure tout le code passe-partout d’un fichier principal Go, mais il offre néanmoins un moyen pratique de tester rapidement les extraits de code dans votre environnement local.

entrer la description de l'image ici

HTH

Non, mais vous pouvez exploiter la vitesse de compilation (comme mentionné dans d’autres réponses).

Regardez rango qui utilise une boucle generate-comstack-run pour imiter une REPL. Vous pouvez également le démarrer avec les importations et les instructions pour commencer une session interactive.

Gosh est la coquille interactive de Golang. L’objective est de fournir un environnement d’exécution interactif facile à utiliser.

https://github.com/mkouhei/gosh

Vous pouvez également essayer https://github.com/haya14busa/goplay Cela vous permet d’exécuter des fichiers de code de votre terminal directement sur le terrain de jeu de Go

S’il vous plaît vérifier également http://www.gorepl.com pour go REPL et d’autres REPLs