梁天的博客

  • 系列课程
    • 课程导航
    • go-http教程
    • go-nsq教程
  • 关于我
  • 友情链接
  • Github
golang

go select的用法

golang中的select语句格式如下 select { case <-ch1: // 如果从 ch1 信道成功接收数据,则执行该分支代码 case ch2 <- 1: // 如果成功向 ch2 信道成功发送数据,则执行该分支代码 default: // 如果上面都没有成功,则进入 default 分支处理流程 }   可以看到select的语法结构有点类似于switch,但又有些不同。 select里的case后面并不带判断条件,而是一个信道的操作,不同于switch里的case,对于从其…

2020年9月7日 0条评论 14点热度 0人点赞 梁天 阅读全文
golang

go语言 go-svc包

阅读 NSQ 源码时,看到NSQ使用了 go-svc 来启动nsq的相关程序,使得在程序退出的时候可以做一些释放资源等收尾工作。 使用起来非常简单,定义一个Service,实现其 svc.Service中的接口即可。  简单使用: func main() { prg := &program{} //运行程序 if err := svc.Run(prg, syscall.SIGINT, syscall.SIGTERM); err != nil { log.Fatal(err) } } //初始化方法 func…

2020年8月24日 0条评论 16点热度 0人点赞 梁天 阅读全文
golang

golang json用法讲解

简介   json格式可以算我们日常最常用的序列化格式之一了,Go语言作为一个由Google开发,号称互联网的C语言的语言,自然也对JSON格式支持很好。但是Go语言是个强类型语言,对格式要求极其严格而JSON格式虽然也有类型,但是并不稳定,Go语言在解析来源为非强类型语言时比如PHP等序列化的JSON时,经常遇到一些问题诸如字段类型变化导致无法正常解析的情况,导致服务不稳定。下面我们就一起来看看。   下面看看一个正常的结构体转json是什么样子: package main import ( "encoding/…

2020年7月15日 0条评论 13点热度 0人点赞 梁天 阅读全文
golang

go操作elasticsearch

简介:  es包地址:https://github.com/olivere/elastic/ 这个版本被广泛使用,我们也用这个。   注意:es版本不同,要导入不同的包。6.0版本导入“github.com/olivere/elastic” 连接es: var host = "http://xxx.com:9201" func es_init() { client, err := elastic.NewClient( elastic.SetURL(host), elastic.SetSniff(false), el…

2020年7月11日 0条评论 15点热度 0人点赞 梁天 阅读全文
golang

go 操作 kafka

import "github.com/Shopify/sarama"   saram 使用纯go语言编写。用于处理Apache Kafka(0.8及更高版本)的纯Go客户端库. 它包括一个易于生成和使用消息的高级API,以及一个在高级API不足时控制线路上字节的低级API. 内嵌提供了高级API的用法示例及其完整文档. 生产者: 有几种类型的生产者:   sarama.NewSyncProducer() //同步发送者   sarama.NewAsyncProducer() //异步发送者 同步模式: func m…

2020年7月8日 0条评论 13点热度 0人点赞 梁天 阅读全文
golang

初学者GO 之旅 (1) 包、变量、函数

本篇文章为go的启蒙文章,非常适合新手阅读,本文文笔生动形象,配图有趣可爱,实为下饭上厕所无聊打发时间的良心文字,欢迎大家阅读+评论。本文大部分文档来源于go官网教程:https://tour.golang.org/list 。也有一些第三方资料。   所有的go程序都是由包组成的,意思就是说你不能像拍簧片(php) 一样, 这里拉一坨,那里拉一坨,你必须像java一样,所有的代码都对应着一个包,在包里面编写代码。懂了吗? 还不懂?给我爬。。。。。。   但是呢,就像你出生在普通家庭,隔壁王二蛋却是个富二代一样。虽…

2020年6月9日 0条评论 17点热度 0人点赞 梁天 阅读全文
软件使用

mac iterm2 安装 lrzsz rz sz命令

注意:mac 自带的终端 是不支持的,所以只能用iterm2 来实现。   iTerm2是一款相对比较好用的终端工具.iTerm2常用操作包括主题选择、声明高亮、自动填充建议、隐藏用户名和主机名、分屏效果等. 下载地址:http://www.iterm2.cn/download   sz rz 命令其实是lrzsz包里面的命令 我们mac可以通过brew来下载。 2. 安装brew 国外:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubuserconten…

2020年5月3日 0条评论 3696点热度 3人点赞 梁天 阅读全文
golang

将Go的main包拆分为多个文件

将Go的main包拆分为多个文件的写法和普通包是完全一致的,其使用规则也相同。如编写main包结构如下:   main   |----main.go   |----show.go 在main.go中编写了main函数,main函数调用了在show中定义的函数或变量。到此和一般的go包都一致。但是当运行go run mian.go时会报错,提示main.go中从show.go中引用的变量和函数没有定义。这时需要将main包相关的所有文件都显式的列出,如下: go run main.go show.go   …

2020年4月24日 0条评论 19点热度 0人点赞 梁天 阅读全文
软件使用

golang工具之present - 编写go特色的ppt

简介:   Golang Present 是 Golang 社群开发出來的一个简单工具,通过简单的语法可以制作 ppt(语法近似于 Markdown)。     默认文件格式是 .slide ,是随着 golang 诞生而出现的一种 present 格式,Go 核心开发成员似乎十分喜欢以这种格式分享 Go 语言。在Golang 官方,几乎所有技术会议的 talk 幻灯片 均是以 .slide 形式提供的。.slide文件通过 web 服务来进行查看,有一个名为 present 的工具可以在本地查看 .slide 文…

2020年4月3日 0条评论 19点热度 0人点赞 梁天 阅读全文
数据结构

[数据结构] - 数组

1、Java数组介绍 在Java中,数组是用来存放同一种数据类型的集合,注意只能存放同一种数据类型(Object类型数组除外)。 在内存中,数组是一块连续的区域。 拿上面的看电影来说,这几个人在电影院必须坐在一起。 数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间。 比如看电影时,为了保证10个人能坐在一起,必须提前订好10个连续的位置。这样的好处就是能保证10个人可以在一起。但是这样的缺点是,如果来的人不够10个,那么剩下的位置就浪费了。如果临时有多来了个人,那么10个就不够用了,这时可能需要将…

2019年10月14日 0条评论 17点热度 0人点赞 梁天 阅读全文
1234

梁天

年少时的春秋大梦在吹满北风的酒里醒了

分类
  • golang
  • 数据结构
  • 生活
  • 系列课程
  • 系统底层
  • 软件使用
  • 运维网络
最新 热点 随机
最新 热点 随机
nsq 初识 【资料】http包接口和结构体 http包详解 2 - http源码分析 http包详解 1 - http包初识 系列课程 性能压测工具 wrk 使用
http包详解 1 - http包初识系列课程性能压测工具 wrk 使用go 程序性能调优 pprof 的使用 (一)go 程序性能调优 pprof 的使用 (二)iterm2 Mac 常用快捷键
nsq 初识 linux shell 中的 2>&1 用法说明 [数据结构] - 入门 iterm2 Mac 常用快捷键 将Go的main包拆分为多个文件 mac iterm2 安装 lrzsz rz sz命令
标签聚合
learn-go-nsq mq learn-go-http http golang
最近评论
头像
发布于 1 周前(04月10日) 实在是妙啊. 天哥就是牛逼
头像
发布于 1 周前(04月10日) 秒啊!
头像
发布于 2 周前(04月02日) 秒啊!
友情链接
  • 一派胡言
  • 她和她的猫
  • 无心阁

COPYRIGHT © 2021 梁天的博客. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

苏ICP备11067663号