# выполнение программы

Полная программа создается путем связывания одного не импортированного пакета, называемого основным, со всеми пакетами, которые она импортирует, транзитивно. **Основной пакет** должен иметь **имя пакета main** и объявлять **функцию main**, которая не принимает аргументов и не возвращает значения.

```
func main() { … }
```

Выполнение программы начинается с инициализации основного пакета и последующего вызова функции main. Когда этот вызов функции возвращается, программа завершается. Он не ждет завершения других (неосновных) программ.
