## 10.4\. 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.
### 10.4.1\. 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.
### 10.4.2\. 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.
### 10.4.3\. Gc compiler roadmap
* Implement goto restrictions.
* Generate DWARF debug info.
* Provide gdb support for runtime facilities.
* Improved optimization.
* 5g: Better floating point support.
### 10.4.4\. 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.
### 10.4.5\. 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 more general 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).
- 1. 關于本文
- 2. Go語言簡介
- 3. 安裝go環境
- 3.1. 簡介
- 3.2. 安裝C語言工具
- 3.3. 安裝Mercurial
- 3.4. 獲取代碼
- 3.5. 安裝Go
- 3.6. 編寫程序
- 3.7. 進一步學習
- 3.8. 更新go到新版本
- 3.9. 社區資源
- 3.10. 環境變量
- 4. Go語言入門
- 4.1. 簡介
- 4.2. Hello,世界
- 4.3. 分號(Semicolons)
- 4.4. 編譯
- 4.5. Echo
- 4.6. 類型簡介
- 4.7. 申請內存
- 4.8. 常量
- 4.9. I/O包
- 4.10. Rotting cats
- 4.11. Sorting
- 4.12. 打印輸出
- 4.13. 生成素數
- 4.14. Multiplexing
- 5. Effective Go
- 5.1. 簡介
- 5.2. 格式化
- 5.3. 注釋
- 5.4. 命名
- 5.5. 分號
- 5.6. 控制流
- 5.7. 函數
- 5.8. 數據
- 5.9. 初始化
- 5.10. 方法
- 5.11. 接口和其他類型
- 5.12. 內置
- 5.13. 并發
- 5.14. 錯誤處理
- 5.15. Web服務器
- 6. 如何編寫Go程序
- 6.1. 簡介
- 6.2. 社區資源
- 6.3. 新建一個包
- 6.4. 測試
- 6.5. 一個帶測試的演示包
- 7. Codelab: 編寫Web程序
- 7.1. 簡介
- 7.2. 開始
- 7.3. 數據結構
- 7.4. 使用http包
- 7.5. 基于http提供wiki頁面
- 7.6. 編輯頁面
- 7.7. template包
- 7.8. 處理不存在的頁面
- 7.9. 儲存頁面
- 7.10. 錯誤處理
- 7.11. 模板緩存
- 7.12. 驗證
- 7.13. 函數文本和閉包
- 7.14. 試試!
- 7.15. 其他任務
- 8. 針對C++程序員指南
- 8.1. 概念差異
- 8.2. 語法
- 8.3. 常量
- 8.4. Slices(切片)
- 8.5. 構造值對象
- 8.6. Interfaces(接口)
- 8.7. Goroutines
- 8.8. Channels(管道)
- 9. 內存模型
- 9.1. 簡介
- 9.2. Happens Before
- 9.3. 同步(Synchronization)
- 9.4. 錯誤的同步方式
- 10. 附錄
- 10.1. 命令行工具
- 10.2. 視頻和講座
- 10.3. Release History
- 10.4. Go Roadmap
- 10.5. 相關資源