День 01 — глубже
Всё здесь необязательно. Материалы на английском помечены — английский в программировании понадобится, и начинать читать документацию лучше с простого.
Официальное начало (англ.)
- Tutorial: Get started with Go — https://go.dev/doc/tutorial/getting-started Первая программа от авторов языка. Почти то же, что вы сделали сегодня, плюс вызов чужого пакета из интернета — это нам понадобится позже.
- A Tour of Go — https://go.dev/tour/welcome/1 Интерактивный тур по языку. Первые страницы раздела Basics — ровно материал дней 01–03. Код запускается прямо в браузере.
Почему скобку нельзя переносить (англ.)
- Effective Go, раздел Semicolons — https://go.dev/doc/effective_go#semicolons Как компилятор сам расставляет точки с запятой в концах строк и почему из-за этого
{должна стоять на строке сfunc main().
Почему в Go один формат кода (англ.)
- go fmt your code — https://go.dev/blog/gofmt Короткий пост о том, зачем языку программа, которая форматирует код за всех, и почему спор о пробелах в Go закрыт навсегда.
Что внутри исполняемого файла
Попробуйте сейчас: загляните в собранный файл.
Цель: узнать, что за файл собрал
go buildи от каких библиотек он зависит.В папке
helloпослеgo build:▶ Выполнитеfile hello ldd hello
fileскажет, что это исполняемый файл для Linux и вашего процессора.lddпокажет, от каких системных библиотек зависит программа. У Go-программ ответ обычно короткий илиnot a dynamic executable: всё нужное собрано внутрь одного файла. Поэтому такой файл легко переносить между серверами.Готово, когда:
fileназвалhelloисполняемым файлом, аlddответил коротким списком илиnot a dynamic executable. Проверка дня этот опыт не сверяет.
Терминал глубже
ls --help— все ключиlsсписком.man ls— полное руководство; выход — клавишаq.history— все команды, которые вы вводили.