Go Value Receiver vs Pointer Receiver: When to Use Each | CodeTrail