![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Golang
喝可乐_耍酒疯
这个作者很懒,什么都没留下…
展开
-
golang unsafe.Pointer和uintptr
uinptr一个足够大的无符号整型, 用来表示任意地址。可以进行数值计算。unsafe.Pointer代表一个可以指向任意类型的指针。不可以进行数值计算。有四种区别于其他类型的特殊操作:任意类型的指针值均可转换为 Pointer。Pointer 均可转换为任意类型的指针值。uintptr 均可转换为 Pointer。Pointer 均可转换为 uintptr。以...原创 2019-01-31 16:10:17 · 4535 阅读 · 0 评论 -
golang etcd clientv3.New()不报超时错误的问题解决
详见这条issue https://github.com/etcd-io/etcd/issues/9877正常来说,clietntv3的初始化代码如下:config := clientv3.Config{ Endpoints: []string{"localhost:2379"}, DialTimeout: dialTimeout,}client, err := clien...原创 2019-04-16 23:02:40 · 2879 阅读 · 0 评论 -
golang判断一个对象是否被拷贝
package mainimport ( "sync/atomic" "unsafe")type noCopy struct{}// Lock is a no-op used by -copylocks checker from `go vet`.func (*noCopy) Lock() {}type TEST struct { name string noCopy no...原创 2019-06-04 15:52:49 · 669 阅读 · 0 评论 -
golang 使用agouti驱动phantomjs、headless chrome
借助agouti库我们可以在golang下实现对动态网页的爬取。安装:go get -u -v github.com/sclevine/agouti1. phantomjspackage mainimport ( "fmt" "math/rand" "time" "github.com/sclevine/agouti")var UserAgentList = [....原创 2019-06-19 17:04:16 · 1872 阅读 · 0 评论 -
golang HTTP Response Body的内存泄漏问题
在爬虫类的场景中, 我们需要做大量的并发http请求,所以经常需要打开和关闭大量http连接。 如果没有正确处理http连接, 很容易导致内存的泄漏。package mainimport ( "fmt" "net/http" "io/ioutil")func main() { resp, err := http.Get("https://api....翻译 2019-06-20 11:21:03 · 7107 阅读 · 2 评论 -
golang 可视化调试工具——debugcharts
一个可以实时查看golang程序内存、CPU、GC、协程等变化情况的可视化工具,很好用。安装:go get -v -u github.com/mkevac/debugcharts使用:跟pprof一样, import就行了这里是官方的例子:package mainimport ( "fmt" "log" "net/http" "runtime" "time" _ ...原创 2019-06-20 14:40:42 · 2327 阅读 · 0 评论