拾贝杂苑

2014年4月15日

Go语言test之类方法测试

摘要:Go语言提供了完善的单元测试支持,开发人员可以方便的编写测试代码,保证自己代码的质量。在目前的例子中,一般看到都是普通函数的例子。下面我将通过类方法的单元测试例子来展示一下Go语言的魅力。首先是代码所在的文件xml.go:package myxmlimport ( "encoding/xml")ty... 阅读全文

posted @ 2014-04-15 12:36 拾贝杂苑 阅读 (1752) 评论 (3) 编辑

2014年4月9日

Go语言http包Form解析之坑

摘要:最近正在用Go语言做一个项目,今天在用http包读取客户端发过来的POST数据时遇到了一点小麻烦,就下面这段代码,死活读不到数据:if r.ContentLength > 0 { var body []byte nRead, err := r.Body.Read(body) if err != nil { fmt.Println(err.Error()) }}返回的错误值是EOF。通过检查header信息,发现content-type是application/x-www-form-urlencoded。检查Request信息也发现Conten... 阅读全文

posted @ 2014-04-09 22:58 拾贝杂苑 阅读 (7074) 评论 (2) 编辑

2014年4月8日

GoLang 通过http Post获取数据

摘要:func GetPostResponse(url, bodyType string, body *[]byte) (rdata []byte, err error) { b := bytes.NewBuffer(*body) var r *http.Response r, err = http.Post(url, bodyType, b) if err == nil { rbody := (*r).Body defer rbody.Close() var nRead int nRead, err = rbody.Read(rdata) if err != nil { Debug(... 阅读全文

posted @ 2014-04-08 20:17 拾贝杂苑 阅读 (1719) 评论 (0) 编辑

2014年4月3日

Go语言的传值与传引用

摘要:Go语言里的传值与传引用大致与C语言中一致,但有2个特例,map和channel默认传引用,也就是说可以直接修改传入的参数,其他的情况如果不用指针的话,传入的都是参数的副本,在函数中修改不会改变调用者中的变量值。简单的做了一个例子:package mainimport "fmt"func main() { fmt.Println("Hello from Go start") var sVal string var sRef string var dVal []byte var dRef []byte var mVal map[string]string 阅读全文

posted @ 2014-04-03 22:16 拾贝杂苑 阅读 (2257) 评论 (0) 编辑

2014年3月27日

Go! new Hello World, 我的第一个Go程序

摘要:以下语句摘自百度百科:Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。怀着强烈的好奇心,我在Windows上尝试了自己的第一个Go程序。首先,到下面的地址下载Go语言开发环境:http://code.google.com/p/go/downloads/list下图列出了Windows版本的Go语言开发环境:从中选取适合你系统的一个msi或者zip,下载完成后直接安装即可,默认是安装在目录C:\Go下面,msi的安装程序可以帮你处理后面的环境变量设置,如果没有设置也很 阅读全文

posted @ 2014-03-27 22:17 拾贝杂苑 阅读 (101) 评论 (0) 编辑

2014年3月23日

Linux/Unix 线程同步技术之互斥量(1)

摘要:众所周知,互斥量(mutex)是同步线程对共享资源访问的技术,用来防止下面这种情况:线程A试图访问某个共享资源时,线程B正在对其进行修改,从而造成资源状态不一致。与之相关的一个术语临界区(critical section)是指访问某一共享资源的代码片段,并且这段代码的执行为原子(atomic)操作,... 阅读全文

posted @ 2014-03-23 11:55 拾贝杂苑 阅读 (297) 评论 (0) 编辑

My Links

Blog Stats