go一些“隐藏库”
code.google.com上有一些分支
有的是还没合并到default上的函数功能
比如net/websocket
这些库可用性都很高,很适合直接使用
如何为go添加补丁
Cmd的三个运行:
func(*Cmd)Start
func(*Cmd)Run
func(*Cmd)Wait
Start:运行不等待进程结束
Run:运行等待进程结束
Wait:等待进程结束
就是说Run = Start + Wait
Cmd中的属性:
Process:一旦Start开始了,Process就可以使用了
ProcessState:只有进程结束之后才可以使用这个属性。即必须Run或者Start+Wait才能使用。
string如果里面有"的话,可以使用`来进行包含
比如:
jsonString := `
{
"development":{
"connector":[
{"id":"connector-server-1", "host":"127.0.0.1", "port":4050, "wsPort":3050},
{"id":"connector-server-2", "host":"127.0.0.1", "port":4051, "wsPort":3051},
{"id":"connector-server-3", "host":"127.0.0.1", "port":4052, "wsPort":3052}
],
"gate":[
{"id": "gate-server-1", "host": "127.0.0.1", "wsPort": 3014}
]
}
}`
http://golang.org/doc/faq#nil_error
Error接口的陷阱
自己定义的Error接口需要注意,接口是有两个属性的,type和value,当type和value都为nil的时候才会==nil,如果继承自nil的接口,即使val是nil,但是type却是nil类型。
比如这个帖子就是问的这个问题: