Go语言学习Tips(一)

1

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

defer的边界

defer是以函数为边界的,也就是说,只有在当前函数将要退出的时候才会运行。

Nested channel select的返回

  • 对于nested同一个channel select,如何想要层层返回,最好的方式就是直接close channel

Also SEE: Go Sandbox

Fork别人项目的正确姿势

比如,有一个项目『github.com/sirupsen/log』,你看他有点不爽想要改点东西。所以fork了一个新的项目『github.com/auxten/logru』,但代码里会有很多『import “github.com/sirupsen/log“』

你直接去修改代码项目依旧会引用原版,pull request原作者又不能很快通过,急急急,这时候怎么办呢?

  1. go get别人代码,这里是
  2. 给项目直接添加一个新的remote,指向你自己的repo,命令:
  3. 创建新branch,就叫做aux吧,并且让这个branch指向这个remote。命令:
  4. 最终的.git/config大概长这样:
  5. push代码就用

这条命令的意思就是:push并把aux的upstream设置成auxten的master。

方法不是很完美,但是至少能比较优雅地解决本地开发编译的问题。

 

%e6%a0%87%e5%bf%97_meitu_1_meitu_2

文章分类 技术博客

发表评论

电子邮件地址不会被公开。

在线交流

数百位业内高手和同行在等你交流
Reboot运维开发分享