08 2013 档案

摘要:自打上初中起就有那么一些同学,他们非常聪明,他们做奥数题,他们英语很棒。他们在黑板上画的辅助线是我所看不懂的,他们做的英语阅读题里的词汇是现在的我都不了解的。通常在其他人眼中,他们的B格很高;但他们的热情与汗水是那些酸溜溜的家伙看不到的。初中、高中、大学……这十年走来,这些人所走的道路,不论从哪个方面来说,都已经离我越来越远。“云泥之别”这四个字,也许就是我与他们间距离的描述。我从小就不是很聪明的那一类人,再加上对于很多事情我都没有足够的热情去做下去,但是心里却总是憧憬着这些人。就好像一个十二三岁的姑娘憧憬着公主生活一样。我知道照我现在这样下去,即使过了10年也还是一个卢瑟。对比起他们,既没有 阅读全文
posted @ 2013-08-17 02:04 林檎 阅读(245) 评论(0) 推荐(0)
摘要:1. 其他语言关于接口的设计都是实现类服务于接口,而Golang似乎是方法为主接口为辅,可以先考虑实体再考虑接口。2. select和switch是相似的,case之间是互斥的。所以超时可在一个一秒超时的timeout goroutine中设置一个sleep(1e9),参数单位是纳秒,然后用一个case <-timeout去捕捉超时,这样就会顺利跳出select,不再去等待其他的goroutine。是否可以将总的计算时间降到接近原来的1/N呢?答案是不一定。如果掐秒表(正常点的话,应该用7.8节中介绍的Benchmark方法),会发现总的执行时间没有明显缩短。再去观察CPU运行状态,你会 阅读全文
posted @ 2013-08-13 12:02 林檎 阅读(1281) 评论(0) 推荐(0)
摘要:Go语言用起来感觉好奇怪。也许是他在语法上杂糅了许多其他语言如C、Python、Perl、Erlang、Haskell等语言的结果。首先是它的变量声明,他把变量类型放在变量名之后,如 var a int;它的if支持初始化变量,如:if comma, ok := fuckU.(int); ok {...}; 其中.(int)是类型判断,.(type)返回其类型。它的内嵌函数中有make和append,make思路很像C语言中的malloc,返回值是一个slice这样的东西,算是动态数组这样的概念吧。而append函数和其他高级语言的append感觉很不一样,它是内嵌函数而不是任何一个类的属性, 阅读全文
posted @ 2013-08-09 14:45 林檎 阅读(810) 评论(0) 推荐(0)
摘要:1 package main 2 import ( 3 "bufio" 4 "fmt" 5 "os" 6 "strconv" 7 ) 8 type Stack struct { 9 i int10 data [10]int11 }12 func (s *Stack) Push(a int) {13 fmt.Printf("push:data:%d,pos:%d\n", a, s.i)14 s.data[s.i] = a15 s.i++16 }17 func (s *Stack) Pop() in 阅读全文
posted @ 2013-08-09 12:54 林檎 阅读(490) 评论(0) 推荐(0)