Golang
文章平均质量分 78
爱神CODE
用你想用的,干你想干的,满嘴跑马车的没一个好东西。
展开
-
Golang中如何模拟C语言中的if(scanf(…)==EOF)来控制输入的终止
相信很多从C/C++转到Golang的朋友们都经常会对Go中的输入控制感到头疼。。。尤其是如果要在Go中模拟C语言中的如下代码会遇到不小困惑:char input[100];while (1) { if (scanf("%s", input) == EOF) { printf("输入结束\n"); break; }}上面这段代码在控制原创 2014-03-06 22:30:08 · 9447 阅读 · 1 评论 -
Go中如何简洁的使用并发
文章转载自:http://www.waylau.com/golang-clear-concurreny/多核处理器越来越普及。有没有一种简单的办法,能够让我们写的软件释放多核的威力?是有的。随着Golang, Erlang, Scala等为并发设计的程序语言的兴起,新的并发模式逐渐清晰。正如过程式编程和面向对象一样,一个好的编程模式有一个极其简洁的内核,还有在此之上转载 2014-05-07 16:48:23 · 3330 阅读 · 0 评论 -
Golang中不要使用无限循环检查goroutine是否完成工作
在使用goroutine时,我们经常会写出这样的代码:原创 2014-04-25 15:08:21 · 6801 阅读 · 0 评论 -
Go是如何用组合实现继承的
Go提供了很赞的并发支持,但是Go并不支持完全的面向对象。这并不代表Go不支持面向对象,而且Go的OO系统做的非常轻量,学习成本压到了最小。尽管为了做到这种轻量级的面向对象让Go失去了一些OO的方便特性,但是更高的效率和多返回值多少弥补了这一点。那些完全支持面向对象的语言一般都具有继承的功能。继承有很棒的优点,最简单了讲,就是可以少写代码。当然,继承并不仅仅是让你省了敲几下键盘的功原创 2014-07-22 15:57:28 · 4244 阅读 · 0 评论 -
进一步认识golang中的并发
如果你成天与编程为伍,那么并发这个名词对你而言一定特别耳熟。需要并发的场景太多了,例如一个聊天程序,如果你想让这个聊天程序能够同时接收信息和发送信息,就一定会用到并发,无论是那是什么样的并发。并发的意义就是:让一个程序同时做多件事情!理解这一点非常重要,是的,并发的目的只是为了能让程序同时做另一件事情而已,并发的目的并不是让程序运行的更快(如果是多核处理器,而且任务可以分成相互独立原创 2014-04-28 22:24:43 · 6423 阅读 · 2 评论 -
Go源码分析——http.ListenAndServe()是如何工作的
Go对web服务器的编写提供了非常好的支持,标准库中提供了net/http包来方便编写服务器。许多教程和书籍在讲到用Go编写web服务器时都会直接教新手用http包写一个最简单的hello world服务器,例子差不多都会像这样:// 这就是用Go实现的一个最简短的hello world服务器.package mainimport "net/http"func main() { h原创 2014-07-15 15:16:08 · 27402 阅读 · 1 评论 -
闭包(closure)与协程共用时要注意的事情
闭包是一种可以让你用非常舒服的方式来编程的小技巧,Go也支持闭包。如果从来没有接触过闭包,想在一开始就弄懂什么是闭包(closure)是非常困难的,就像递归一样,直到你真正写过、用过它,你才能真正的对它有一个更具体的认识。闭包就是一个函数,这个函数包含了运行它所需的上下文环境,这个环境可能是几个变量或者也会是其他的(通常就是变量)。说闭包是一个函数不正确,更确切地说,闭包是一个打包了其原创 2014-10-27 12:15:39 · 3849 阅读 · 1 评论