Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
This page tracks the status of "Go 2".
We are currently seeking feedback on potential designs for improved error handling, error values, and generics:
- GopherCon 2017: Russ Cox - The Future of Go
- GopherCon Russia 2018: Brad Fitzpatrick - Go: Looking back and looking forward (Go2 stuff is at about 20 minutes in)
From talk above:
- "maybe three major changes"
- plus minor housekeep tasks
Examples of major changes:
Examples of housekeeping:
- Open Go2Cleanup bugs (please don't add this label to things without discussion)
We do not want to break the ecosystem. Go 1 and Go 2 code must be able to interoperate in programs with ease.
The standard library would probably be versioned and permit out-of-cycle updates, but be included with Go releases. Maybe "encoding/foo" become shorthand for "golang.org/x/std/encoding/foo". TBD. Some package would probably get v2 major versions, but the v1 versions would be minimally maintained, at least for security.