День 02 · дополнительные материалы

День 02 — глубже

Всё здесь необязательно. Материалы на английском помечены.


Тур по Go: переменные и константы (англ.)

Что говорит спецификация языка (англ.)

Спецификация — точное описание языка, по которому пишут компилятор. Читать её целиком рано, но отдельные разделы короткие:

Почему Go такой строгий (англ.)

Мини-опыт: какой тип выведен

Завтра появится fmt.Printf. Заглянуть вперёд можно уже сегодня — в scratch/main.go:

✎ Наберите в файл scratch/main.go
package main

import "fmt"

func main() {
	stock := 40
	item := "Болт М6"
	fmt.Printf("%T %T\n", stock, item)
}
Пример · только посмотреть, набирать не нужно
stagiaire@lab:~/gocourse/day02/scratch$ go run .
int string

%T печатает тип значения. Поменяйте 40 на 40.5 и запустите ещё раз — появится тип, о котором завтра.

Мини-опыт: трассировка на чужом коде

Возьмите любую программу со страниц дня 01 или 02, закройте вывод и заполните таблицу трассировки на бумаге по правилам четвёртой страницы. Потом скопируйте программу в scratch и запустите. Где вывод разошёлся с таблицей — найдите первый шаг, на котором значение в таблице неверное.