---
# System prepended metadata

title: GO Best Practices

---

# GO Best Practices

- When should a piece of data have behavior?
- Regarding methods, When should I use value semantics vs. pointer semantics?
    - when working with built-in types (e.g. strings, numerics, bools) use value semantics
    - reference types follow value semantis
- **nit** receiver variable names should be no longer than 3 letters
- do not use pointer semantics on construction/initialization