
Go
jay123
这个作者很懒,什么都没留下…
展开
-
Go项目的目录结构
[size=small] [b]一、GOPATH设置[/b] 一般Go语言开发设置GOPATH,而GOROOT在安装Go时会自动设置。 GOPATH:就是我们的工作空间相当于eclipse的workshop,GOPATH允许多个目录,当有多个目录时,Windows用分号,Linux用冒号,go get的内容默认放在第一个目录下; GOROOT:就是Go的安装目录,相当Java的安装目录JA...2013-12-25 10:31:43 · 231 阅读 · 0 评论 -
Go的延迟(Defer)
Go的延迟(Defer)是一个很有意思的特性,有点相当于Java try{}catch{}的finally,最后始终会被执行。也有区别: 1.defer的参数是在程序编译时已计算好了,而非函数执行时,如 [code="c"] i := 0 defer fmt.Println(i) i = 1 [/code] 输出: [code="c"] 0 [/code] 而非1. 2.同...2013-12-25 16:27:10 · 172 阅读 · 0 评论 -
Go的new和make分配内存的区别
1.new(T)创建一个没有任何数据的类型为T的实例,并返回该实例的指针; 2.make(T, args)只能创建 slice、map和channel,并且返回一个有初始值args(非零)的T类型的实例,非指针。 如 [code="c"] var p *[]int = new([]int) // 分配slice结构内存 : *p = nil var v []int = make([]...2013-12-25 16:50:30 · 600 阅读 · 0 评论 -
Go语言的大小写
初学者经常犯Go大小写默认的错误:即在包外引用小写的常量、函数提示错误,对于刚接触Go语言的人会觉得莫明其妙。 原因是:Go语言中,常量、函数的首字母大写表示对外公开的相当于Java的public,小写表示私有的相当于Java的private。 ...原创 2013-12-26 17:04:56 · 3290 阅读 · 0 评论 -
少即是极多——Go创作过程(转)
这是一篇翻译练习。力图保留原意。若有不准确处,求速速指出。猛击此处(墙)看原文。作者为Rob Pike,贝尔实验室来的大牛,现在就职于Google。他主导了Go语言的创建工作。下面是正文—— ——————————————正文分隔线—————————————— 这是我在2012年6月的Go SF上演讲的文本。 这是一个个人演讲。 我承认,虽然面前的团队让Go诞生并延续,但是我的观点并不代表...原创 2013-12-31 16:09:39 · 180 阅读 · 0 评论 -
Golang的slice陷阱
[code="c"] package main import "fmt" func main() { arr := []int{1, 2, 3, 4, 5} slice := arr[1:2] slice = append(slice, 6, 7, 8) fmt.Println(slice) fmt.Println(arr) } [/code] 输出: [co...2014-01-22 15:39:27 · 228 阅读 · 0 评论 -
安装Docker出现“No package docker-io available”的问题
在centOS 6.5(32位)下安装docker出现“No package docker-io available.”问题,原因是epel(企业版 Linux 附加软件包)只提供64位的docker安装包,所以在32位的系统是没办法通过yum安装的。只能将64位的docker源代码变成32位才能安装,或安装64位的系统。...2014-10-19 16:16:43 · 2555 阅读 · 0 评论 -
构建Uber端到端技术栈的十条经验
[size=large][size=large]我在Uber这几年,做了很多系统稳定性及可扩展性的工作, 也包括很多快速迭代试错的产品,另外还做了一些移动开发的工作,因此我对Uber的端到端的技术栈还比较熟悉。在这里以我的经历为例跟大家分享一下如何以Uber的方式快速稳定的做一个端到端的大型应用。 我刚加入Uber时,Uber正处于飞速成长期。这样的情况对之前工程师设计的简单系统造成了极大的...原创 2018-02-01 09:45:11 · 283 阅读 · 0 评论