摘要: golang中的select语句格式如下 select { case <-ch1: // 如果从 ch1 信道成功接收数据,则执行该分支代码 case ch2 <- 1: // 如果成功向 ch2 信道成功发送数据,则执行该分支代码 default: // 如果上面都没有成功,则进入 default 阅读全文
posted @ 2020-09-07 23:49 梁天 阅读(12948) 评论(2) 推荐(3) 编辑
摘要: 将Go的main包拆分为多个文件的写法和普通包是完全一致的,其使用规则也相同。如编写main包结构如下: main | main.go | show.go 在main.go中编写了main函数,main函数调用了在show中定义的函数或变量。到此和一般的go包都一致。但是当运行go run mian 阅读全文
posted @ 2020-08-24 00:35 梁天 阅读(974) 评论(0) 推荐(0) 编辑
摘要: 阅读 NSQ 源码时,看到NSQ使用了 go-svc 来启动nsq的相关程序,使得在程序退出的时候可以做一些释放资源等收尾工作。 使用起来非常简单,定义一个Service,实现其 svc.Service中的接口即可。 简单使用: func main() { prg := &program{} //运 阅读全文
posted @ 2020-08-24 00:25 梁天 阅读(1203) 评论(0) 推荐(0) 编辑
摘要: go语言中init函数用于包(package)的初始化,该函数是go语言的一个重要特性, 有下面的特征: 1 init函数是用于程序执行前做包的初始化的函数,比如初始化包里的变量等 2 每个包可以拥有多个init函数 3 包的每个源文件也可以拥有多个init函数 4 同一个包中多个init函数的执行 阅读全文
posted @ 2020-08-10 14:06 梁天 阅读(2409) 评论(0) 推荐(0) 编辑
摘要: 简介: es包地址:https://github.com/olivere/elastic/ 这个版本被广泛使用,我们也用这个。 注意:es版本不同,要导入不同的包。6.0版本导入“github.com/olivere/elastic” 连接es: var host = "http://xxx.com 阅读全文
posted @ 2020-07-21 17:32 梁天 阅读(8402) 评论(0) 推荐(0) 编辑
摘要: 简介 json格式可以算我们日常最常用的序列化格式之一了,Go语言作为一个由Google开发,号称互联网的C语言的语言,自然也对JSON格式支持很好。但是Go语言是个强类型语言,对格式要求极其严格而JSON格式虽然也有类型,但是并不稳定,Go语言在解析来源为非强类型语言时比如PHP等序列化的JSON 阅读全文
posted @ 2020-07-15 15:17 梁天 阅读(1232) 评论(0) 推荐(0) 编辑
摘要: golang操作redis主要有两个库,go-redis和redigo。两者操作都比较简单,区别上redigo更像一个client执行各种操作都是通过Do函数去做的,redis-go对函数的封装更好,相比之下redigo操作redis显得有些繁琐。但是官方更推荐redigo,所以项目中我使用了red 阅读全文
posted @ 2020-07-12 17:40 梁天 阅读(15185) 评论(0) 推荐(0) 编辑
摘要: import "github.com/Shopify/sarama" saram 使用纯go语言编写。用于处理Apache Kafka(0.8及更高版本)的纯Go客户端库. 它包括一个易于生成和使用消息的高级API,以及一个在高级API不足时控制线路上字节的低级API. 内嵌提供了高级API的用法示 阅读全文
posted @ 2020-07-08 14:10 梁天 阅读(10702) 评论(0) 推荐(1) 编辑
摘要: 一、Golang指针与C/C++指针的差别 在Golang支持的数据类型中,是包含指针的,但是Golang中的指针,与C/C++的指针却又不同,笔者觉得主要表现在下面的两个方面: 弱化了指针的操作,在Golang中,指针的作用仅是操作其指向的对象,不能进行类似于C/C++的指针运算,例如指针相减、指 阅读全文
posted @ 2020-06-15 21:23 梁天 阅读(1382) 评论(2) 推荐(0) 编辑
摘要: 本篇文章为go的启蒙文章,非常适合新手阅读,本文文笔生动形象,配图有趣可爱,实为下饭上厕所无聊打发时间的良心文字,欢迎大家阅读+评论。本文大部分文档来源于go官网教程:https://tour.golang.org/list 。也有一些第三方资料。 Packages (包) 所有的go程序都是由包组 阅读全文
posted @ 2020-06-09 13:58 梁天 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 注意:mac 自带的终端 是不支持的,所以只能用iterm2 来实现。 iTerm2是一款相对比较好用的终端工具.iTerm2常用操作包括主题选择、声明高亮、自动填充建议、隐藏用户名和主机名、分屏效果等. 下载地址:http://www.iterm2.cn/download sz rz 命令其实是l 阅读全文
posted @ 2020-05-13 21:16 梁天 阅读(5513) 评论(0) 推荐(0) 编辑
摘要: 简介: Golang Present 是 Golang 社群开发出來的一个简单工具,通过简单的语法可以制作 ppt(语法近似于 Markdown)。 默认文件格式是 .slide ,是随着 golang 诞生而出现的一种 present 格式,Go 核心开发成员似乎十分喜欢以这种格式分享 Go 语言 阅读全文
posted @ 2020-03-30 13:09 梁天 阅读(1855) 评论(1) 推荐(0) 编辑
摘要: php没有官方的kafka扩展,所以我们需要找到社区版的插件用。 目前有一个比较火的kafka扩展,这个扩展是用C写的,直接通过pecl安装。地址:https://arnaud.le-blanc.net/php-rdkafka-doc/phpdoc/book.rdkafka.html 安装这个插件有 阅读全文
posted @ 2020-01-17 15:52 梁天 阅读(4164) 评论(2) 推荐(2) 编辑
摘要: 发车 为什么要在elasticsearch中要使用ik这样的中文分词呢,那是因为es提供的分词是英文分词,对于中文的分词就做的非常不好了,因此我们需要一个中文分词器来用于搜索和使用。今天我们就尝试安装下IK分词。 上车 1、去github 下载对应的分词插件https://github.com/me 阅读全文
posted @ 2020-01-17 12:51 梁天 阅读(10125) 评论(0) 推荐(0) 编辑
摘要: 上车 Head是elasticsearch的集群管理工具,可以用于数据的浏览和查询。elasticsearch-head是一款开源软件,被托管在github上面,所以如果我们要使用它,必须先安装git,通过git获取elasticsearch-head运行elasticsearch-head会用到g 阅读全文
posted @ 2020-01-17 12:49 梁天 阅读(3213) 评论(0) 推荐(0) 编辑