Back to Concepts Roadmap
🔴 Level 5 — Methods & Interfaces
Methods & Interfaces

Methods (Receivers)

Attaching functions to user-defined types using value and pointer receivers.

Real-World Analogy (Mental Model)

Giving a car an accelerator pedal. The method `Car.Accelerate()` belongs to the car type and updates its speedometer.

Key Concepts & Rules To Remember

  • Pointer receiver `func (c *Car) Accelerate()` can mutate struct state.
  • Value receiver `func (c Car) Speed()` operates on a read-only copy.
  • Methods can be defined on any named type in the same package.
Step-by-Step Code

1. Understanding Methods (Receivers)

Attaching functions to user-defined types using value and pointer receivers. In Go, methods (receivers) is designed around clarity and high runtime efficiency.

example.goGo 1.24+
type User struct { Name string }

func (u *User) SetName(name string) {
    u.Name = name // Mutates caller
}

Common Beginner Pitfalls & Mistakes

Mistake: Misusing methods (receivers) without understanding its memory or concurrency semantics.
✅ Correct Way: Always follow standard Go idioms and verify with tests.
Self Assessment

Knowledge Check

Verify your understanding with these interactive practice questions.

Quizzes

Quick checks for understanding

Multiple-choice with inline explanations—expand to see why.

What is the primary concept behind Methods (Receivers)?

Finished this lesson?

Mark it as complete to track your overall Go mastery.