Go
文章平均质量分 91
参考书目:
《Go语言编程》
《李文周博客—Go语言教程》
Hitomi_HXT
这个作者很懒,什么都没留下…
展开
-
NSQ源码解析
NSQ源码解析NSQ组件的生命周期nsqd 源码解析nsqd 执行入口nsqd源码nsqd 源码流程图NSQ组件的生命周期Topic:当程序第一次发布消息时就会创建 topicChannels:在消费者第一次订阅时就会创建 channel。Channel 会将消息进行排列,如果没有消费者读取消息,消息首先会在内存中排队,当量太大时就会被保存到磁盘中。Messages:消费者可以选择结束消息,表明它们正在被正常处理,或者重新将他们排队待到后面再进行处理,每个消息包含传递尝试的次数,当消息传递超过一定原创 2021-09-07 16:08:55 · 762 阅读 · 0 评论 -
NSQ消息队列
NSQ消息队列消息队列的作用NSQ介绍什么是NSQNSQ组件NSQ工具NSQ架构NSQ部署单机部署集群部署消息队列的作用1️⃣ 程序解耦举个栗子:用户注册成功会发送注册成功的短信通知。传统模式下需要将用户信息持久化到数据库后,再调用发送短信接口。当短信平台暂时出现连通性问题,则会导致用户注册失败,也就是数据库存储失败,说明注册模块与短信功能高耦合,违反程序设计原则高内聚低耦合。引用消息队列,将用户注册数据持久化到数据库后,把消息写入消息队列然后返回用户注册成功,短信平台通过从消息队列中获取消息为原创 2021-08-31 17:44:59 · 1227 阅读 · 0 评论 -
Go语言入门(二)之 函数&指针
Go语言入门(二)之 函数&指针函数进阶指针函数进阶1️⃣ 可变参数可变参数是指函数的参数数量不固定。Go语言中的可变参数通过在参数名后加...来标识。⭐️ 注意:可变参数通常要作为函数的最后一个参数。举个栗子:func intSum2(x ...int) int { fmt.Println(x) //x是一个切片 sum := 0 for _, v := range x { sum = sum + v } return sum}调用上面的函数:ret1 := in原创 2021-08-25 16:42:42 · 381 阅读 · 0 评论 -
Go语言入门(一)之 结构体
Go语言入门(一)之 结构体类型别名 & 自定义类型结构体类型别名 & 自定义类型自定义类型type MyInt int //将MyInt定义为int类型通过type关键字的定义,MyInt就是一种新的类型,它具有int的特性,但却不是int了。类型别名type byte = uint8 //byte 是uint8 的别名type rune = int32 //rune 是int32 的别名只是换了个名字(换汤不换药),byte 就是 uint8 。结构体原创 2021-08-24 17:40:28 · 160 阅读 · 0 评论 -
Go语言案例(一)音乐播放器
Go语言案例(一)音乐播放器一、GOPATH 与 Go Mod二、常用的标准库(一)ftm三、项目中涉及语法概念(一)结构体(二)接口四、源码附录一、GOPATH 与 Go Mod(小白学习go,可能存在问题,欢迎大家批评指正~)最开始,我的项目结构如下:结果发现,main.go中 import包tool 爆红,明明路径都写对了,为什么还是报错呢?原来是gopath配置的问题,gopath就是用来管理包的。于是,我开始配置gopath。GOPATH官方文档解释是:GOPATH 环境变量指定了你原创 2021-06-04 11:05:04 · 3426 阅读 · 0 评论