At least in the GAE Go SDK for Win64, locally when running with dev_appserver.py:
Here's my simple package:
When I run with dev_appserver.py, the func init() is called once. Outputting: "This is init #1"
Then I may wait a few seconds or minutes or not at all before sending the first http request via browser --- this repeats the whole init() procedure, but it does NOT recognize the first run as the code should.
I would expect it to output "This is init #2" but I'm seeing yet another "This is init #1"
So essentially looks like the whole process is restarted, and all the 1st-time init work was for naught.
(However, all subsequent http requests do indeed run without doing repeated inits --- as they properly should, too.)
Begs the question: if the very first http requests is what seems to be starting the executable, what was the point of the first init()?