进程、线程和协程要理解什么是goroutine,我们先来看看进程、线程以及协程它们之间的区别,这能帮助我们更好的理解goroutine。进程:分配完整独立的地址空间,拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程的切换只发生在内核态,由操作系统调度。
线程:和其它本进程的线程共享地址空间,拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程的切换一般也由操作系统调度(标准线程是的)。
协程...
分类:
其他好文 时间:
2015-03-05 22:26:19
阅读次数:
386
初识golang,这部分也不是很了解,百度了一下,做个小记录goroutine是golang用来做并发处理的,使用起来很简单 go func(){...}(),就是看起来随便用一般而容易go的滥用,所以使用时要仔细斟酌才好。channel 大约是用来在线程间传递数据的,主线程开通一个channel,...
分类:
其他好文 时间:
2015-03-04 14:32:48
阅读次数:
163
今天在用go-sql-driver做MySQL driver调用MySQL的存储过程时遇到一个罕见的报错。本文对这个错误及其解做一个简单的总结。1 问题描述按照go中sql包提供的接口,应用层代码调用MySQL存储过程的代码一般如下所示: result, err := dbh.Exec(...
分类:
数据库 时间:
2015-03-04 14:26:05
阅读次数:
213
有时候需要往浏览器访问的页面中输出调试信息,可以使用以下方法import ( "fmt" "html/template" "io" "log" "net/http")func writeHandler(w http.ResponseWriter, r *http.Req...
分类:
其他好文 时间:
2015-03-04 14:21:28
阅读次数:
124
谷歌官方维护了一个基于go语言的开源项目列表:https://github.com/golang/go/wiki/Projects其中有非常多的优秀项目值得学习,有几百行代码适合新手阅读的项目,也有大型如nsq、docker等的项目。下面推荐几款适合学习的项目:1、cache2gohttps://g...
分类:
编程语言 时间:
2015-03-02 23:49:08
阅读次数:
232
做了个简单的留言本用来练习http与template. j
主Go代码:
package main
//Golang版本的留言本
//author:Xiong Chuan Liang
//date:2015-3-2
import (
"fmt"
"html/template"
"io/ioutil"
"net/http"
"os"
)
func main() {
...
分类:
编程语言 时间:
2015-03-02 22:32:04
阅读次数:
387
我们在 Wide 1.2.0 中加入了 Playground,方便代码分享,并支持通过 iframe 内嵌到其他站点运行 Go 代码。...
分类:
编程语言 时间:
2015-03-02 11:19:36
阅读次数:
173
golang httpserver如果采用 fmt.Fprintf(w, result)来输出json数据时,若json数据包含%号,则会出现问题。输出结果里面会包含(MISSING)字样,造成json格式错误。把输出函数替换为w.Write即可。func Action(w http.Respons...
分类:
Web程序 时间:
2015-03-02 11:01:58
阅读次数:
228
一 基础用法操作 := 只能用于方法内部, 声明并初始化新的变量v := 3但是不能用于已声明变量赋值, 下面的做法编译器会报错误"no new variables on left side of :="var v int = 0v := 1通过错误可以了解到, := 操作左边必须要有新变量, 那么...
分类:
其他好文 时间:
2015-02-28 20:06:19
阅读次数:
130
RESTful API 这玩意不用多说了,用Go做了个很简单的例子:
服务端在被调用时返回JSON,
客户端解析得到相关JSON信息.
服务端源码:
package main
//简单的JSON Restful API演示(服务端)
//author: Xiong Chuan Liang
//date: 2015-2-2...