- 17
- 0
- 约3.9千字
- 约 16页
- 2017-03-29 发布于湖北
- 举报
Go语言发展状况综述
Go语言发展状况
大纲
? Go语言语法及标准库变化
? Go语言未来发展的判断
? Go语言开源项目
Go1.1
? 语言变化
– 支持方法值(Method values)
?p.Write 等价于:
func(b []byte) (int, error) {
return p.Write(b)
}
?区别于方法表达式(Method expressions):
(*Foo).Write,结果类型为 func(p *Foo, b []byte) (int, error)
– int,uint 类型长度调整
?自 Go1.1 后,int,uint 的尺寸统一是 64bits,即使是在 32bits 平
台下。
– go1.1 编译条件
?在 go1.1 或以上的版本 编译:
// +build go1.1
Go1.1
? 性能
– 更多内联(inline):append, 接口类型转换
–
–
–
全新实现 map,更小的内存占用和CPU开销
GC 性能优化
网络库性能优化:减少上下文切换
? 标准库/工具
– 一些尚未稳定的库从标准库移除
? 迁移到 /p/go.exp 或 /p/go.text 中
– 新增的包(package)
? go/format
? net/http/cookiejar
? runtime/race
? 详细信息
– /doc/go1.1
Go1.2
? 语法变化
– 三下标切片(Three-index slices):array[begin:end:endcap]
– cgo 支持 C++
? 性能
– 标准库 compress/bzip2, crypto/des, encoding/json 性能优化
? 标准库/工具
– 新增的包(package):encoding, image/color/palette
– godoc, vet 工具从 go 发布中移出,迁移到
? /p/go.tools/cmd/godoc
? /p/go.tools/cmd/vet
– 测试覆盖率
? /p/go.tools/cmd/cover
? 详细信息
– /doc/go1.2
Go1.3
? 语法变化:无
? 实现细节
– GC
? Go1.3以前,垃圾回收对指针的判断是经验性的:如果某个整数值恰
巧是一个合法的指针,那么它会被当做指针处理
? Go1.3调整为精确GC,这会导致以前的有些编程手法失效:
– 如果有人意图把指针存储到uintptr而不是unsafe.Pointer,那么这块内存
无法保证不被回收
– 使用unsafe.Pointer存储整数也不会是一个好主意,因为这会干扰GC对真
相的理解
– map的遍历次序
? Go1标准指出:对map的多次遍历不应该假设有同样的次序
? 为了避免这样的假设发生,Go1.0遍历map选择起点时用了随机数
? Go1.1用重新实现map后,小map的遍历没有引入随机数;Go1.3重新
引入,以消灭此类潜在bug
Go1.3
? 实现细节
– cgo 变化:C类型不再允许跨包访问
? 例如,如果某个函数有 *C.FILE 参数,那么这个函数无法在其
他包中使用(会编译失败)
– 如果认为此代码是合理的,可将其调整为 unsafe.Pointer
? 性能
– 大大降低 defer 的内存开销
–
–
–
引入并行 GC 算法,大幅度改善 GC 效率
竞争检测算法(race detector) 大幅提速
优化 regexp 包,改善大部分简单正则表达式的性能
? 标准库/工具
– 新增的包(package):debug/plan9obj
Go1.4
? 语法变化
– 增加一种非常小概率使用的for range语法
for range x { … } 等价于 for _ = range x {…}
– 不再自动对 **T 进行解引用(dereference)
?对 var x **T,以前可直接用 x.Fn() 调用 T 的方法
– 现在需要明确写 (*x).Fn()
– 引入 internal package 概念
?在 Go1.4 只对主路径($GOROOT)有效,未来会全面应用到$GOPATH
– 引入 canonical import paths (权威导入路径) 概念
?package pdf // import rsc.io/pdf
? 实现细节
– 开始支持 Android (编译出binary或.so)
– 运行时(runtime)
您可能关注的文档
- GeoFrame出构造图综述.ppt
- GG001钢筋机械连接检测委托单综述.doc
- G20的发展改革及2016杭州峰会综述.ppt
- GIC系统宝石学考试重点综述.doc
- 自动控制原理第二章胡寿松分解.ppt
- 中国戏曲的文化魅力——越剧分解.ppt
- 政治理科会考必修二全套习题分解.doc
- GHS培训综述.ppt
- 中国现代史时段大总结分解.pptx
- ghy2第十二章宏观经济的基本指标及其衡量综述.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 部编版六年级语文下册全册一课一练同步练习题配知识点归纳(含答案).pdf VIP
- 预制空心内夯载体桩技术.pdf VIP
- 2025版《全基础题型》高考数学-基础题(721例题型).docx VIP
- (正式版)DB21∕T 4190-2025 《既有住宅适老化改造建筑设计规程》.pdf VIP
- T_NBSC 001-2026(可口革囊星虫养殖技术规范).pdf
- 餐饮业食品安全管理八项制度.pptx VIP
- 法医学中的法医现场勘查学 .pdf VIP
- 中风的中医诊疗方案.pdf VIP
- 2025年自来水供应专属承包合同样本版.docx VIP
- (2025春新教材)人教版PEP版三年级英语下册全册教案件 .pdf
原创力文档

文档评论(0)