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

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

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


Про срезы

Про map

Про строки и файлы


Мини-опыты

1. Сколько раз растёт ёмкость. Числа роста ёмкости в курсе не учат наизусть, но посмотреть на них полезно один раз. Программа для черновика:

Код для чтения · разбираем, набирать не нужно
s := []int{}
for i := 0; i < 20; i++ {
	s = append(s, i)
	fmt.Println(len(s), cap(s))
}

Смотрите, на каких строках cap меняется, — это моменты, когда append выделил новый массив. Правило 29 говорит, что в таблицу такое число не вычисляют, а берут из вывода.

2. Одна буква — несколько байтов. В черновике напечатайте []byte("Ёж") и []rune("Ёж"): в первом срезе четыре числа, во втором — два.

3. Порядок map. Запустите пять раз подряд программу, которая печатает for k, v := range m по map из десяти ключей, и сравните первые строки. Потом замените обход на slices.Sorted(maps.Keys(m)) и запустите ещё пять раз.