Всегда по значению. Когда передаёшь структуру в функцию — создаётся полная копия. Если хочешь избежать копирования или изменять оригинал — передавай указатель *MyStruct.
Правило: маленькие структуры (2-3 поля) — по значению, большие — по указателю.
Слайсы, мапы и каналы содержат внутренний указатель, поэтому их копирование не копирует данные — только заголовок.