Go Roadmap
This page lists features and ideas being developed or discussed by the
Go team. This list will be updated as work continues.
The roadmap should be discussed on
the golang-nuts
mailing list.
Language roadmap
This is a list of language changes that are being considered.
Appearance on this list is no guarantee that the change will be
accepted.
-
Possibly rewrite restriction on goto across variable declarations.
-
Variant types. A way to define a type as being the union of some set
of types.
-
Generics. An active topic of discussion.
-
Methods for operators, to allow a type to use arithmetic notation for
expressions.
Implementation roadmap
-
Improved garbage collector, most likely a reference counting collector
with a cycle detector running in a separate core.
-
Debugger.
-
App Engine support.
-
Improved CGO including some mechanism for calling back from C to Go.
-
Improved implementation documentation.
Gc compiler roadmap
-
Implement goto restrictions.
-
Generate DWARF debug info.
-
Provide gdb support for runtime facilities.
-
Improved optimization.
-
5g: Better floating point support.
Gccgo compiler roadmap
-
Implement goto restrictions.
-
Use goroutines rather than threads.
-
Separate gcc interface from frontend proper.
-
Use escape analysis to keep more data on stack.
Done
-
Safe compilation mode: generate code that is guaranteed not to obtain an invalid memory address other than via
import "unsafe"
.
-
Gccgo: garbage collection.
-
Native Client (NaCl) support.
-
SWIG support.
-
Simpler semicolon rules.
-
A better definition of
...
in parameter lists.
-
Explicit conversions from
string
to []byte
and []int
.
-
A function that will be run by the garbage collector when an item is freed
(runtime.SetFinalizer).
-
Public continuous build and benchmark infrastructure (gobuilder).
-
Package manager (goinstall).
-
A means of recovering from a panic (recover).