tag attribute go

attribute - ¿Go proporciona REPL?



title html css (8)

Prueba motemen / gore

Sin embargo, otro Go REPL que funciona bien. Destacado con edición de línea, finalización de código y más.

gore

El entorno interactivo es MUY útil para un programador. Sin embargo, parece que Go no lo proporciona. Es mi entendimiento correcto?


¿Has probado el Go Playground ?

Acerca del patio de juegos Go

Go Playground es un servicio web que se ejecuta en los servidores de golang.org. El servicio recibe un programa Go, compila, vincula y ejecuta el programa dentro de un entorno limitado, luego devuelve el resultado.


Como ya se mencionó, Go Playground (esta es la nueva URL) es muy útil. Los autores de Go también están pensando en agregarle un editor rico en funciones.

Si quieres algo local, considera instalar hsandbox . Ejecutarlo simplemente con hsandbox go dividirá la pantalla de su terminal (con screen ) donde puede escribir el código en la parte superior y ver su resultado de ejecución en la parte inferior en cada operación de guardado.

Hubo un gotry entre los comandos Go estándar, que solía evaluar expresiones (con un nombre de paquete opcional), y se podía ejecutar como gotry 1+2 y gotry fmt ''Println("hello")'' desde shell. Ya no está disponible porque no muchas personas realmente lo usaron.

También he visto proyectos de terceros para construir un REPL para Go, pero ahora solo puedo encontrar enlaces a dos de ellos: igo y go-repl . ¿Qué tan bien funcionan? No lo sé.

Pero para responder realmente a su pregunta principal: no, Go no proporciona REPL.

Mis dos centavos: la velocidad de compilación hace posible escribir un REPL para Go, ya que también ha ayudado a construir las herramientas mencionadas aquí, pero la misma velocidad hace que REPL sea menos necesario. Cada vez que quiero probar algo en Go que no puedo ejecutar en Playground, abro un archivo .go simple y comienzo a codificar y simplemente ejecuto el código. Esto será aún más fácil cuando el comando go en Go 1 hace que el proceso de compilación de un comando sea posible y mucho más fácil.

ACTUALIZACIÓN: la última versión semanal del comando Go add go que se puede usar para crear un archivo muy fácilmente: escribe tu archivo prog.go y ejecuta go build prog.go && ./prog

ACTUALIZACIÓN 2 : con Go 1, puede ejecutar directamente los programas go run filename.go con go run filename.go

ACTUALIZACIÓN 3 : gore es un nuevo proyecto que parece interesante.


El proyecto GoSpeccy incluye un REPL incorporado de un subconjunto restringido del idioma Go. La implementación está usando goeval .


No, pero puede aprovechar la velocidad de compilación (como se menciona en otras respuestas).

Eche un vistazo a rango que usa un ciclo de generación-compilación-ejecución para imitar un REPL. También puede comenzar con importaciones y declaraciones para comenzar una sesión interactiva.


Si usted es un usuario de Vim, el complemento vim-go ( https://github.com/fatih/vim-go ) proporciona un comando (GoRun) para ejecutar e imprimir el resultado del búfer en uso. Aún debe incluir todo el código repetitivo de un archivo Go principal, pero aún así proporciona una forma conveniente de probar rápidamente los fragmentos de código en su entorno local.

HTH


También tiene un proyecto reciente (marzo de 2013) llamado gore de Sriram Srinivasan , que puede ser útil:

gore es un evaluador de línea de comandos para el código de golang, un REPL sin bucle, si se quiere.
Es un reemplazo para el patio de recreo go, al tiempo que hace que sea mucho más fácil probar fragmentos de código de forma interactiva: gore suministra automáticamente el código de la placa de caldera, como las declaraciones de importación y paquete, y un envoltorio de función principal .
Además, dado que se ejecuta en su propia computadora, no se rechaza ningún código por razones de seguridad (a diferencia del modo de zona de pruebas segura de la zona de juegos).


Gosh es el caparazón interactivo de Golang. El objetivo es proporcionar un entorno de ejecución interactivo fácil de usar.

https://github.com/mkouhei/gosh