代码改变世界

随笔档案-2019年02月

colly源码学习

2019-02-27 09:52 by 轩脉刃, 1220 阅读, 收藏, 编辑
摘要: colly源码学习 "colly" 是一个golang写的网络爬虫。它使用起来非常顺手。看了一下它的源码,质量也是非常好的。本文就阅读一下它的源码。 使用示例 从Visit开始说起 首先,要做一个爬虫,我们就需要有一个结构体 Collector, 所有的逻辑都是围绕这个Collector来进行的。 阅读全文

使用chan的时候选择对象还是指针

2019-02-22 12:34 by 轩脉刃, 4555 阅读, 收藏, 编辑
摘要: 使用chan的时候选择对象还是指针 今天在写代码的时候遇到一个问题,在创建一个通道的时候,不确定创建的通道是使用chan A还是chan \ A。 思考了一下,觉得这个应该和函数一样是一个值传递还是参数传递的问题。然后写了个play验证了一下。 package main import ( "fmt" 阅读全文

golang中Context的使用场景

2019-02-19 09:27 by 轩脉刃, 22294 阅读, 收藏, 编辑
摘要: golang中Context的使用场景 context在Go1.7之后就进入标准库中了。它主要的用处如果用一句话来说,是在于控制goroutine的生命周期。当一个计算任务被goroutine承接了之后,由于某种原因(超时,或者强制退出)我们希望中止这个goroutine的计算任务,那么就用得到这个 阅读全文

如何加速golang写业务的开发速度

2019-02-13 08:58 by 轩脉刃, 3735 阅读, 收藏, 编辑
摘要: 如何加速golang写业务的开发速度 不要忌讳panic golang写业务代码经常会被吐槽,写业务太慢了,其中最大的吐槽点就是,处理各种error太麻烦了。一个项目中,会有30%或者更多的是在处理error。 对于golang的error这个事情,golang的官方也说的很详细,建议函数返回err 阅读全文