美文网首页
Go语言爱好者周刊笔记

Go语言爱好者周刊笔记

作者: 路人爱早茶 | 来源:发表于2020-06-01 16:22 被阅读0次

1.国内下载前缀

 [https://goproxy.io](https://goproxy.io/)
[https://athens.azurefd.net](https://athens.azurefd.net/)
[https://goproxy.cn](https://goproxy.cn/)
[https://gocenter.io](https://gocenter.io/)
 [https://mirrors.aliyun.com/goproxy/](https://mirrors.aliyun.com/goproxy/)

2.golang泛型待当前无,可用interface替代
3.golang历史

- 2009.9 golang正式发布开源代码
- go1目标是梳理语法和标准库:
- 2012年给切片语法增加容量控制,避免不同切片访问有着相同底层数组的其他切片内存
- 2016年引入context包用来简化单个请求的多个gorouine之间与请求域的数据超时和退出操作,很多框架用来控制goroutine的生命周期
- 2017年引入类型别名,解决不同库之间相同变量的兼容问题,比如标准库和扩展库context.context重名问题
- 运行时问题
GC是垃圾回收,gc是编译器:
go1.2使用分段栈实现栈的动态伸缩,栈内存不连续会使cpu命中率下降,使热点函数的调用性能下降
go1.3使用连续动态栈,如此会导致栈的变量地址会因为栈的移动而变化,导致go的内存对象无法直接传递给c语言空间使用,为此制定复杂内存使用规范.
- GC性能改进
go中每个变量都有完备的元信息,通过此可以追踪到全部指针的生命周期
go1.4之前采用停止世界来回收,几秒到十几秒,并且全部是C语言实现;go1.5采用并发增量方式,并且采用c转换到go,以此知道了每个内存指针状态。
-- go2发展方向
- 2015年之前是各种报告巅峰,之后急剧下降
- go2最期待是泛型
之前用接口模拟泛型是借口,因为无法对接口返回值类型检查,支持泛型可能期待在cpu密集运算领域有所建树,纯go语言机器学习算法库出现
- Go语言对WebAssembly平台的支持
可能出现更轻量化的docker替代,或者变异版本的tinygo
-- go在中国
- 中国是go关注最多的国家,也是go贡献排名第二国家,许多人参与了go语言编写。

相关文章

  • Go语言爱好者周刊笔记

    1.国内下载前缀 2.golang泛型待当前无,可用interface替代3.golang历史

  • Go语言爱好者周刊笔记-tcpserver & graceful

    什么是框架 把变化交给用户,把不变留给自己,面向接口编程 案例 tcpsever实现 监听类型 监听地址 客户端连...

  • Go语言爱好者周刊笔记-接口与反射关系

    [图片上传中...(image-961710-1587039097333)] 接口是抽象基本工具 接口在分配值时候...

  • 笨办法学golang(三)

    这是Go语言学习笔记第三篇。 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 Go语言基本类型主要有布...

  • 笨办法学golang(二)

    这是Go语言学习笔记的第二篇文章。 Go语言学习笔记参考书籍「Go语言编程」、Go官方标准库 前文提要 上篇文章中...

  • 笨办法学golang(四)

    这是Go语言学习笔记的第四篇 Go语言学习笔记参考书籍「Go语言圣经」以及Go官方标准库 数组 数组是指一系列同类...

  • Go语言爱好者周刊笔记-Half-Sync/Half-Async

    半同步/半异步(half-sync/half-async) 此模式集成同步io和异步io模式,即简化并发系统开发又...

  • Go 语言极速入门

    本系列文章主要是记录《Go 语言实战》和《Google 资深工程师深度讲解 Go 语言》的学习笔记。 Go 语言极...

  • Golang Context

    参考Go语言实战笔记(二十)| Go ContextGolang context初探 一、WaitGroup 这是...

  • Golang相关电子书

    Golang相关电子书,会不定期更新 Go语言程序设计 Go语言学习笔记.雨痕(详细书签) Go语言·云动力(云计...

网友评论

      本文标题:Go语言爱好者周刊笔记

      本文链接:https://www.haomeiwen.com/subject/ulvemhtx.html