// Need a pointer because the func args are copied
// so w Wallet is a copy of wallet. Not the actually refernce to the
// wallet that Deposit was called on.
// Notice we don't have to derefence the pointer like in Balance because
// in go https://go.dev/ref/spec#Method_values struct pointers are automatically
// derefenced
w.balance+=amount
}
// Technically you do not need to change Balance to use a pointer receiver as taking a copy of the balance is fine. However, by convention you should keep your method receiver types the same for consistency.
func(w*Wallet)Balance()Bitcoin{
// dereferences the pointer
// which as stated above didn't need to happen because go automatically