1 - Спецификация языка говорит следующее:
Набор файлов с одинаковым PackageName формирует реализацию пакета. Реализация может потребовать, чтобы все исходные файлы пакета находились в одном каталоге.
Таким образом, кажется, что нет никаких требований к именованию файлов / каталогов, но было бы безопаснее поместить все файлы, которые образуют пакет, в один каталог.
2 - Очевидно, файл должен находиться в некотором каталоге. Я предполагаю, что вы имеете в виду " я должен поместить его в подкаталог src
?" Исходя из вышеприведенной цитаты, мне кажется, что вы можете иметь все свои файлы непосредственно в src
, если действительно хотите.
3 - Да.
4 - Использование go test