Introduction
Value receivers let you use a copy of a value when calling a method. This means the original value stays safe and unchanged.
When you want to make sure the original data does not change inside the method.
When your data is small and copying it is cheap and fast.
When you want to call methods on values, not pointers.
When you want to keep your code simple and avoid pointer complexity.