关于golang struct interface的理解使用

Golang 6,866 views
前端时间说了不少golang常用库包的使用,貌似没有详细说struct interface的概念。在说interface之前,我们知道在Golang 中是没有类class 的概念,golang是通过 interface 类型接口实现的继承多态的效果。 一个 interface 类型定义了一个方法集做接口。 使用golang...
阅读全文 0

关于golang struct interface的理解使用

03-11 6,866 views

前端时间说了不少golang常用库包的使用,貌似没有详细说struct interface的概念。在说interface之前,我们知道在Golang 中是没有类class 的概念,golang是通...
阅读全文 0

golang使用priority queue实现优先级队列

Golang 5,573 views
     我们知道类似优先级队列是使用heap堆栈来实现的。 优先级队列的用途我就不多说了,一般是用来做任务权重分配的。     下面priority_queue优先级库是在github.com找到的。 看了下他的源代码实现,得知他不是线程安全的。   ...
阅读全文 0

golang使用priority queue实现优先级队列

03-10 5,573 views

     我们知道类似优先级队列是使用heap堆栈来实现的。 优先级队列的用途我就不多说了,一般是用来做任务权重分配的。     下...
阅读全文 0

golang使用sync保证container/list链表线程安全

Golang 7,239 views
一边python,一边golang ! 时常因为工作切换语言造成了短路。container/list是golang语言内置的链表库。 对比其他语言的list,container/list该有的功能都有,就缺一个popLeft popRight方法。如果要实现pop方法需要去除value := list.Back() , 然后list.Remove(va...
阅读全文 0

golang使用sync保证container/list链表线程安全

7,239 views

一边python,一边golang ! 时常因为工作切换语言造成了短路。container/list是golang语言内置的链表库。 对比其他语言的list,container/list该有的功能都...
阅读全文 0

关于golang的panic recover异常错误处理

Golang 6,240 views
Golang这么时尚的语言是没有类似try..catch 这种异常处理机制,而是使用 panic 和 recover处理异常. 其实相当于python的raise。 golang的异常处理组合 panic,defer,recover,跟java中的try catch finially是类似的。 但是从语言的用户体验来说,不怎么好。 但考虑...
阅读全文 0

关于golang的panic recover异常错误处理

03-09 6,240 views

Golang这么时尚的语言是没有类似try..catch 这种异常处理机制,而是使用 panic 和 recover处理异常. 其实相当于python的raise。 golang的异常处理组合 panic...
阅读全文 0

解决golang开发socket服务时粘包半包bug

Golang 7,793 views
在使用golang做socket服务时,我想大多数人都会碰见粘包的问题。 以前用python做socket服务时就想写一篇关于tcp粘包的问题,后来因为单纯的tcp服务器开发功能实在烦杂,索性直接用http tornado进行通信了。 下面的资料有些是来自我个人的印象笔记,相关的参考引用链...
阅读全文 0

解决golang开发socket服务时粘包半包bug

03-08 7,793 views

在使用golang做socket服务时,我想大多数人都会碰见粘包的问题。 以前用python做socket服务时就想写一篇关于tcp粘包的问题,后来因为单纯的tcp服务器开发功...
阅读全文 0

golang strconv数据类型转换的用法

Golang 6,988 views
strconv是golang用来做数据类型转换的一个库。  介绍下strconv最常用的两个方法, 虽然没有解释语言那么自在可以str(int),int(string), 那还算简练。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 http://x...
阅读全文 0

golang strconv数据类型转换的用法

6,988 views

strconv是golang用来做数据类型转换的一个库。  介绍下strconv最常用的两个方法, 虽然没有解释语言那么自在可以str(int),int(string), 那还算...
阅读全文 0

关于golang timer定时器的详细用法

Golang 7,633 views
上次写了一篇关于golang crontab的用爱疯,这次说下golang timer定时器的用法。  golang的time.NewTicker创建定时任务时,是阻塞同步的。如果不想因为同步阻塞了main线程,可以给每个定时函数分配一个goroutine协程。  该文章写的有些乱,欢迎来喷...
阅读全文 0

关于golang timer定时器的详细用法

03-06 7,633 views

上次写了一篇关于golang crontab的用爱疯,这次说下golang timer定时器的用法。  golang的time.NewTicker创建定时任务时,是阻塞同步的。如果不想因为...
阅读全文 0

golang解析创建复杂嵌套的json数据

Golang 7,475 views
Golang的json序列化果真是静态语言的范呀。各种的麻烦,各种的标准。 用pyhon的时候毫无顾忌,各种的数据各种的塞。 各个功能模块需要传递信息,一般是需要序列化的,常用的序列化模式有json、msgpack啥的。 这里就先扯扯golang的json模块。 对于相当复杂又各种嵌套...
阅读全文 1

golang解析创建复杂嵌套的json数据

7,475 views

Golang的json序列化果真是静态语言的范呀。各种的麻烦,各种的标准。 用pyhon的时候毫无顾忌,各种的数据各种的塞。 各个功能模块需要传递信息,一般是需要序...
阅读全文 1

golang runtime实现多核并行任务

Golang 6,456 views
    首先我们需要明确一下并行跟并发的区别,并发一般是被内核通过时间片或者中断来控制的,遇到io阻塞或者时间片用完的时会转移线程的使用权。一个核的情况下不可能有并行的情况,因为同一时间只有一个任务在调度。   该文章写的有些...
阅读全文 0

golang runtime实现多核并行任务

03-05 6,456 views

    首先我们需要明确一下并行跟并发的区别,并发一般是被内核通过时间片或者中断来控制的,遇到io阻塞或者时间片用完的时会转移线程的使用...
阅读全文 0

使用golang传递变量给函数时遇到的问题

Golang 5,818 views
用python写业务代码有三四年了,忽然切换用golang写业务的时候会遇到一些奇怪的问题。这些问题不能说golang的坑,只能说自己对于go的认知还不够清晰。 我的实际场景是这样的,我从redis取出任务后,经过各种的数据会扔给Elasticsearch,原始的数据会扔...
阅读全文 0

使用golang传递变量给函数时遇到的问题

5,818 views

用python写业务代码有三四年了,忽然切换用golang写业务的时候会遇到一些奇怪的问题。这些问题不能说golang的坑,只能说自己对于go的认知还不够清晰。 ...
阅读全文 0

说说golang goroutine并发时遇到死锁问题

Golang 7,177 views
Goroutine和channel是Go在“并发”方面两个核心feature。我自己在使用golang开发时会被常会被channel所困扰。废话不多说,正题开始. 那么golang的channel是什么?  简单说他可以让goroutine之间互相通信,通俗讲我可以通过channel传递信息给goro...
阅读全文 0

说说golang goroutine并发时遇到死锁问题

03-04 7,177 views

Goroutine和channel是Go在“并发”方面两个核心feature。我自己在使用golang开发时会被常会被channel所困扰。废话不多说,正题开始. 那么golang的cha...
阅读全文 0

golang crontab的计划任务及定时任务使用

Golang 7,161 views
对了,最近又开始搞golang了…  记得以前在乐视的时候用golang做过些东西,后来因为种种问题不得不放弃golang。  有个功能是需要定期的执行任务,因为是跟项目内部耦合一起的,所以不适合用linux crontab来操作。  在github中找到一个热门的go...
阅读全文 0

golang crontab的计划任务及定时任务使用

03-03 7,161 views

对了,最近又开始搞golang了…  记得以前在乐视的时候用golang做过些东西,后来因为种种问题不得不放弃golang。  有个功能是需要定期的执行...
阅读全文 0

使用golang实现ac自动机(ahocorasick)的api接口

Golang,python 6,463 views
我们针对抓取来的页面进行关键词匹配,但是随着爬虫的量级越来越大,关键词计算有些算不过来….  数据队列已经到了100w左右….  又在多个节点上,发布了docker化的关键词匹配服务。  关键词匹配服务的服务器数量已经到了10台,里面的代码...
阅读全文 0

使用golang实现ac自动机(ahocorasick)的api接口

05-30 6,463 views

我们针对抓取来的页面进行关键词匹配,但是随着爬虫的量级越来越大,关键词计算有些算不过来….  数据队列已经到了100w左右….  又在...
阅读全文 0

Golang实现http接口调用及web数据抓取[get post模式]

Golang 9,403 views
前沿:    继续扩展我的golang服务端,这边有些数据库是没有权限的,对方给了我webservices的接口,针对异常的数据,我要去抓数据,再次分析,golang貌似没有python那么多的模拟浏览器访问的模块,还好默认的http就支持。 功能一点都不必urllib2 差。...
阅读全文 0

Golang实现http接口调用及web数据抓取[get post模式]

10-25 9,403 views

前沿:    继续扩展我的golang服务端,这边有些数据库是没有权限的,对方给了我webservices的接口,针对异常的数据,我要去抓数据,再次分析...
阅读全文 0

golang使用go-sql-driver实现mysql增删改操作

Golang 8,359 views
这两天用golang  写的服务端做的都是和redis做交互,因为后期还会用mysql的一个表做验证。  先学习下golang对mysql的操作  ! mymysql和go-mysql-driver是两个现在都很流行的go的mysql驱动,看了下文档,后者比较的健全,听大牛们介绍,貌似...
阅读全文 0

golang使用go-sql-driver实现mysql增删改操作

8,359 views

这两天用golang  写的服务端做的都是和redis做交互,因为后期还会用mysql的一个表做验证。  先学习下golang对mysql的操作  ! mymys...
阅读全文 0

个人对于golang的goroutine并发处理任务时的理解

Golang 9,449 views
以前用golang做并发处理的时候,很是粗暴,就是利用golang的高级性能,直接fork一个任务,来处理请求,最典型的就是直接 go func,当时是因为用http和socket没觉得什么,今天再次看golang的goroutine的时候,发现这几天写的程序有些问题。比如用goroutine的时候,...
阅读全文 0

个人对于golang的goroutine并发处理任务时的理解

9,449 views

以前用golang做并发处理的时候,很是粗暴,就是利用golang的高级性能,直接fork一个任务,来处理请求,最典型的就是直接 go func,当时是因为用http和socke...
阅读全文 0

golang利用http模块构建redis读写查api

Golang 7,788 views
前沿:         这两天试着用golang做一些高性能的api,不想把压力到聚合在平台的接口上。平台因为要做很多耗时间的操作,uwsgi下会出现少许错误,找了一圈不知道如何解决该问题。 暂时先绕道而行,先拿简单的接口来做测试,慢慢的把复杂的...
阅读全文 0

golang利用http模块构建redis读写查api

7,788 views

前沿:         这两天试着用golang做一些高性能的api,不想把压力到聚合在平台的接口上。平台因为要做很多耗时间的操作,uwsgi下...
阅读全文 0

关于Go语言在服务端做Restful接口和socket通信

Golang 8,435 views
下图是关于rest的使用介绍,有些老生常谈了。 当REST架构的约束条件作为一个整体应用时,将生成一个可以扩展到大量客户端的应用程序。它还降低了客户端和服务器之间的交互延迟。统一界面简化了整个系统架构,改进了子系统之间交互的可见性。REST简化...
阅读全文 0

关于Go语言在服务端做Restful接口和socket通信

8,435 views

下图是关于rest的使用介绍,有些老生常谈了。 当REST架构的约束条件作为一个整体应用时,将生成一个可以扩展到大量客户端的应用程序。它还降...
阅读全文 0

关于Golang语言的web编程的实例及常见问题

Golang 6,629 views
多核处理器越来越普及。有没有一种简单的办法,能够让我们写的软件释放多核的威力?是有的。随着Golang, Erlang, Scala等为并发设计的程序语言的兴起,新的并发模式逐渐清晰。正如过程式编程和面向对象一样,一个好的编程模式有一个极其简洁的内核,还有在此之上丰...
阅读全文 0

关于Golang语言的web编程的实例及常见问题

6,629 views

多核处理器越来越普及。有没有一种简单的办法,能够让我们写的软件释放多核的威力?是有的。随着Golang, Erlang, Scala等为并发设计的程序语言的兴起,新的...
阅读全文 0