我的2017年Go决议 一年之季始于春,我认为写一些今年我希望在Go上做的东西是有意义的. 我每年的目标是帮助Go开发人员.我想确保我们在Go团队中所做的工作对Go开发者有重大的积极影响.可能听起来很明确,但是有各种常见的方面无法实现这一点:例如,花费太多的时间清理或优化不需要的代码:仅响应最常见或最近的抱怨或请求,或者重点关注短期改进.重要的是退后一步,确保我们将开发工作重点放在最好的地方. 这篇文章概述了我今年关注的几大重点.这只是我的个人清单,不是Go团队的清单. 发布这个的一个原因是收集…
一 编程与编程语言 python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语言?什么是编程? 编程的目的: #计算机的发明,是为了用机器取代/解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑/电脑一样自动执行的效果. 什么是编程语言? #上面提及的能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质.在编程的世界里,计算机更像是人的奴隶,人类…
Golang优秀开源项目汇总(持续更新...)我把这个汇总放在github上了, 后面更新也会在github上更新. https://github.com/hackstoic/golang-open-source-projects  . 欢迎fork, star , watch, 提issue. 资料参考来源:http://studygolang.com/projects 监控系统 序号 名称 项目地址 简介 1 OpenFalcon http://github.com/open-falcon/…
今年 8 月 Go 开发团队公布了 Go 2.0 的设计草案,包括错误处理和泛型这两大主题.现在备受瞩目的 Go 2.0 又有了新动向 —— 昨日 Go 开发团队在其官方博客表示,Go 2 已经被安排上了!目前 Go 2 已进入确定变更提案的阶段,并公布了提案评估流程. 废话不多说,先来看看 Go 2.0 有哪些值得关注的内容: 1.最大程度保持对 1.x 的兼容,以避免分裂 Go 语言生态系统2.采用增量升级的方式,而非单独发布重大更新版本3.实施新的提案评估流程,以评估尚未解决且被标记为提案…
1.1 编程与编程语言 1.1.1 编程语言 计算机的发明,是为了用机器解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑一样自动执行的效果.编程即程序员根据需求把自己的思想流程按照某种编程语言的语法风格编写下来,产出的结果就是包含一堆字符的文件.能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质.在编程的世界里,计算机更像是人的奴隶,人类编程的目的就命令奴隶去工作. 1.1.1.1 …
目录 error 的困局 尝试破局 Errors are just values handle not just check errors Only handle errors once 小结 胎死腹中的 try 提案 go 1.13 的改进 fmt.Errorf Unwrap Is As 总结 参考资料 写过 C 的同学知道,C 语言中常常返回整数错误码(errno)来表示函数处理出错,通常用 -1 来表示错误,用 0 表示正确. 而在 Go 中,我们使用 error 类型来表示错误,不过它不…
目录 什么是 pprof pprof 的作用 pprof 如何使用 runtime/pprof net/http/pprof pprof 进阶 Russ Cox 实战 查找内存泄露 总结 参考资料 相信很多人都听过"雷神 3"关于性能优化的故事.在一个 3D 游戏引擎的源码里,John Carmack 将 1/sqrt(x) 这个函数的执行效率优化到了极致. 一般我们使用二分法,或者牛顿迭代法计算一个浮点数的平方根.但在这个函数里,作者使用了一个"魔数",根本没有迭…
一.编程与编程语言 1.编程的目的 计算机的发明,是为了用机器取代并解放人力.而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑.电脑一样自动执行的效果. 2.什么是编程语言 能够被计算机所识别的表达方式即编程语言,语言是沟通的介质,而编程语言是程序员与计算机沟通的介质. 在编程的世界里,计算机更像是人的奴隶,人类编程的目的就命令奴隶去工作. 3.什么是编程 编程即程序员根据需求把自己的思想流程按照某种编程语言的语法风格编写下来,产出的结果…
作者 | 杨成立(忘篱) 阿里巴巴高级技术专家 Go 开发关键技术指南文章目录: 为什么你要选择 Go? Go 面向失败编程 带着服务器编程金刚经走进 2020 年 敢问路在何方? Go 开发指南大图 Engineering 我觉得 Go 在工程上良好的支持,是 Go 能够在服务器领域有一席之地的重要原因.这里说的工程友好包括: gofmt 保证代码的基本一致,增加可读性,避免在争论不清楚的地方争论: 原生支持的 profiling,为性能调优和死锁问题提供了强大的工具支持: utest 和 c…
一.背景 Go语言是Google开发的一种静态强类型.编译型.并发型,并具有垃圾回收功能的编程语言.为了方便搜索和识别,有时会将其称为Golang.自2009年11月Google正式宣布推出,成为开放源代码项目以来,Go语言已成为当今开发人员和DevOps领域最流行的语言之一, 它被用于设计和编写Kubernetes和Helm.但是,相比语言本身已经得到了广泛的普及和使用,Go语言的包管理方案却大大滞后了. Go语言生态系统中缺少的是标准化——没有用于依赖关系管理的标准工具, 也没有标准的包格式…