В Го по-умолчанию переменные передаются по значению (то есть, копируются на стеке), но есть нюансы.
1. Мапы и каналы всегда передаются по указателю.
2. У слайса на стеке только дескриптор, так что он копируется, но данные, на которые слайс указывал, остаются там же в памяти, где и были.
3. Если вы явно передаете указатель, то тут все очевидно.
4. У интерфейсов копируется дескриптор, но т.к. в дескрипторе указатель, то тут все как со слайсами.