у указателей есть побочный эффект - их должен проверять сборщик мусора. поэтому иногда приложение будет работать быстрее, если использовать копирование, а не передачу по указателю. но в большинстве случаев вы эту разницу померять не сможете.
всё что нужно запомнить, не изменять структуру которая передана по указателю как аргумент функции, так как это не явно и будет сложно дебажить, но это редко когда требуется.
кстати говоря, передача по значению не факт что спасёт от ошибок, которые завязаны на указателях, так как, например, массивы содержат в себе указатели и изменение элемента затронет все структуры с теми же указателями. https://play.golang.org/p/4fGPH2J2w4l
кстати говоря, передача по значению не факт что спасёт от ошибок, которые завязаны на указателях, так как, например, массивы содержат в себе указатели и изменение элемента затронет все структуры с теми же указателями. https://play.golang.org/p/4fGPH2J2w4l