What is the difference between Go's pass by value and pass by reference for function arguments?