代码改变世界

Go小tip

2013-03-19 09:38  轩脉刃  阅读(2526)  评论(6编辑  收藏  举报

go一些“隐藏库”

code.google.com上有一些分支

有的是还没合并到default上的函数功能

比如net/websocket

http://code.google.com/p/go/source/browse?repo=net#hg%2Fwebsocket

这些库可用性都很高,很适合直接使用

如何为go添加补丁

http://golang.org/doc/contribute.html

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类型。

比如这个帖子就是问的这个问题:

https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/59GXbVgxCxk