TL;DR
Go is considering a proposal to support generic methods, enabling functions with type parameters and receivers. This change aims to improve code organization and flexibility, even without interface implementation.
The Go programming language is exploring a proposal to add support for generic methods, allowing functions with type parameters and receivers, independent of interface implementation. This development aims to enhance code organization and usability, responding to longstanding user requests.
The proposal suggests changing the syntax of method declarations to resemble function declarations, enabling generic type parameters within methods. Currently, Go’s design restricts methods to non-generic functions with receivers, primarily due to the language’s interface implementation model.
Support for generic methods has been a popular request among Go developers for years, with proposals filed since 2021. The core idea is to treat methods as functions with receivers that can be parameterized by types, even if they do not implement interfaces. This approach separates the utility of methods from interface constraints, emphasizing their role in code organization.
Why It Matters
If adopted, this change would allow Go developers to write more flexible and reusable code by defining generic methods on user-defined types. It could improve code clarity and reduce boilerplate, especially in complex data structures and algorithms. The proposal also signals a shift in Go’s approach to generics, moving towards more expressive capabilities without altering the core interface model.

Go Programming Language, The (Addison-Wesley Professional Computing Series)
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Background
Go introduced generics with type parameters in 2022, but support for generic methods has remained limited due to concerns about complexity and implementation challenges. Previous discussions and proposals have debated whether methods should support type parameters, with the current stance favoring a cautious approach. This proposal marks a potential change in perspective, recognizing the standalone value of generic methods.
“Support for generic methods would allow functions with type parameters to be associated with types, improving code organization without requiring interface implementation.”
— Go language proposal author
“While supporting generic methods, we must consider the implications for the language’s simplicity and existing features.”
— Go language committee member

Competitive Programming 4 – Book 1: The Lower Bound of Programming Contests in the 2020s
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
What Remains Unclear
It is not yet clear whether the proposal will be accepted into the official Go language specification. Details about the final syntax and implementation specifics are still under discussion, and community feedback remains ongoing.

Go: Golang Programming, In 8 Hours, For Beginners, Learn Coding Fast (eBook): Go Language, Crash Course Textbook & Exercises (Textbooks in 8 Hours 4)
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
What’s Next
The proposal is currently in review, with further discussions expected in upcoming Go language design meetings. If approved, a formal draft of the syntax and implementation plan will follow, with potential integration in a future Go release.

C++ Pocket Reference
Used Book in Good Condition
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
What are generic methods in Go?
Generic methods are functions associated with types that can accept type parameters, enabling more flexible and reusable code structures.
Why is support for generic methods important?
It allows developers to write methods that are type-agnostic, reducing boilerplate and improving code clarity, especially for complex data structures.
Will generic methods replace interfaces in Go?
No. The proposal emphasizes that generic methods are useful independently of interfaces, which remain a core part of Go’s design for dynamic behavior.
When might this feature be available in Go?
The feature is still under discussion; if accepted, it could be included in a future major release, but no timeline has been set.
Source: Hacker News