Read this: http://golang.org/doc/code.html — but in short:
One package per directory/one directory per package. You have both
templatespackages where you should just have one -
package mainif you are attempting to compile a binary and not a library.
Don't use "relative" imports. Use the fully qualified path - i.e. if your base project is
$GOPATH/src/github.com/JohnFromSO/myappthen you would import sub-packages as
You probably don't need to split out
templates.gointo a separate package - a good rule of thumb is "would this package be usable if it stood on its own/usable by others?"
Another good read is https://medium.com/@benbjohnson/structuring-applications-in-go-3b04be4ff091