2014-09-10 1 views
0

Я работаю над своим веб-приложением и использую структуру revel. Для выполнения приложения Ревель, я бег следующего кодаПриложение, которое прочитало файлы go и выполнило его

revel run myapp 

Сейчас я действительно интересно, как упиваться примерно работает. Мой вопрос в том, как revel framework выполняет myapp со многими файлами go, которые я написал для приложения? Является ли revel виртуальной машиной?

Как написать приложение в Go и прочитать файлы Go и выполнить его?

ответ

2

Revel представляет собой предварительно процессор, а не основа. Он абстрагирует работу Go и вводит ее собственный code structure and concepts. Это, как правило, недооценивается в сообществе Go, но это не тема вашего вопроса, и поэтому я также не сделаю это из этого ответа.

Так оно и есть, сочетая ваш код с собственным шаблоном и составляя все вместе.

Как написать приложение в Go и прочитать файлы Go и выполнить его?

Либо вы пишете REPL или вы, как Ревель и просто сделать приложение, которое будет компилировать другие приложения Go с помощью использования пакета компилятора Go.


Редактировать, чтобы ответить на вопрос в комментариях: Revel itself является очень хорошим примером. здесь на line 73 он выполняет go build с некоторыми флагами и устанавливает вывод на binName, который является путем во временный файл.

+0

У вас есть образец для 'приложение, которое будет компилировать другие приложения Go за счет использования компилятора suite.' Go я имею в виду пример кода. –

+0

Я отредактировал свой ответ. – thwd

3

Нет, revel не является виртуальной машиной. Revel перекомпилирует исходный код при его изменении.

Это описывается в особенности на http://revel.github.io/

Горячий Код Reload Редактировать, сохранять и обновлять. Revel компилирует ваш код и шаблоны для вас, поэтому вы не пропустите бит. Код не компилируется? Это дает вам полезное описание. Временной код паники? Ревелл тебя охватывает.

источники Go компилирует очень быстро, так что становится возможным

0

Revel не является виртуальной машиной. Infact это основа в Go.

Как домашняя страница Ревель говорит:

Hot Code Reload 

Edit, save, and refresh. Revel compiles your code and templates for you, so you don't miss a beat. Code doesn't compile? It gives you a helpful description. Run-time code panic? Revel has you covered. 
Смежные вопросы