09 2019 档案
摘要:系统要求 docker官方提供2个版本,一个是docker企业版docker EE,另外一个则是社区版docker ce,我们在学习或者测试环境使用docker ce版本即可。 要想在 centos 上安装并运行docker,那么你需要centos 7及以上的版本,旧于这个版本的系统将不支持。 其次
阅读全文
摘要:集合 Go语言里的集合一般会用map[T]bool这种形式来表示,T代表元素类型。 集合用map类型来表示虽然非常灵活,但我们可以以一种更好的形式来表示它。例如:在数据流分析领域,集合元素通常是一个非负整数,集合会包含很多元素,并且集合会经常进行并集、交集操作,这种情况下,bit数组会比map表现更
阅读全文
摘要:结构体嵌套 go中使用结构体嵌套来扩展类型 嵌入到结构体中的字段,完全可以当作自己是自己的字段 ColoredPoint嵌套了Point结构体,从而ColoredPoint就拥有了Point的字段X,Y。 可以直接通过"."操作符来访问; 如果Point拥有自己的方法,那么ColoredPoint也
阅读全文
摘要:GO中错误处理理念 在Go中有一部分函数总是能成功的运行。比如strings.Contains和strconv.FormatBool函数,对各种可能的输入都做了良好的处理,使得运行时几乎不会失败,除非遇到灾难性的、不可预料的情况,比如运行时的内存溢出。导致这种错误的原因很复杂,难以处理,从错误中恢复
阅读全文
摘要:Ctrl+a跳到本行的行首, Ctrl+e则跳到页尾。 Ctrl+u删除当前光标前面的文字 ctrl+k 删除当前光标后面的文字 Ctrl+w和Alt+d 对于当前的单词进行删除操作,w删除光标前面的单词的字符,d则删除后面的字符 Alt+Backsapce 删除当前光标后面的单词, 如果删除错误,
阅读全文
摘要:为什么需要context 先举个例子: 在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务。用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,
阅读全文