Shadowing - когда внутренняя переменная перекрывает внешнюю с тем же именем. Например, x := 1; if true { x := 2; ... } - внутри блока x новая переменная. Часто приводит к ошибкам. В Go 1.21+ go vet может предупреждать о shadowing; аккуратно именуйте переменные или не переиспользуйте имена во вложенных блоках.