5. Pointer Receivers
Pointer Receiver
type car struct {
color string
}
func (c *car) setColor(color string) {
c.color = color
}
func main() {
c := car{
color: "white",
}
c.setColor("blue")
fmt.Println(c.color)
// prints "blue"
}Non-Pointer Receiver
What Are Receivers?
Pointer Receiver vs Value Receiver
Pointer Receiver (Can Modify)
Value Receiver (Cannot Modify)
Complete Examples
Pointer Receiver Example
Value Receiver Example
Go's Automatic Pointer Magic
When to Use Each
Real-World Example
Comparison to Regular Functions
Method with Pointer Receiver
Equivalent Function
Common Pattern: Builder Methods
Quick Reference
Type
Syntax
Modifies Original?
Use When