目录权限管理系统一、 概述二、 创建表1、 创建2、 生成3、 映射三、 增删改查1、 群管理1.1 增加群1.2 删除群1.3 展示功能2、 权限管理2.1 展示权限2.2 修改权限四、 获取命令1、 消息分发2、 解析命令权限管理系统一、 概述在写好我们的智能聊天功能之后,大家有没有感觉很烦呢?感觉这个机器人在群里面一直被艾特,一直被戳一戳。那么,我们有 ......
336
0
0
2023-02-18
目录背景示例Json例子解释1)反序列化成map2)反序列化成对象3)复杂json的解析总结背景这是一篇写给0-1年新人的文章,短平快的教会你如何解析json字符串。示例Json假设有如下json字符串:{ "userName":"admin", "nick_name":"管理员", "info":{ "age":18 ......
373
0
0
2023-02-15
目录正文定义泛型函数Filter 函数Map 函数First 函数带超时的cachecache 结构集合操作set 结构带索引的cacheindex 结构正文cache 是一个带索引带超时的缓存库目的在于优化代码结构,提供了若干实践。 https://github.com/weapons97/cacheexample定义泛型函数1.18 已经发布一 ......
348
0
0
2023-02-13
1. 关闭只读的channel会编译错误,而关闭只写的channel则不会。channel2. 读写nil channel会发生阻塞,而关闭则会panicvar nilStream chan interface{} close(nilStream) // 结果: panic: close of nil channel [recovered] ......
578
0
0
2023-02-08
目录命令行参数使用详解选项语法flag是怎么解析参数的?自定义数据类型短选项小结前言:今天来聊聊Go语言标准库中一个非常简单的库flag,这个库的代码量只有1000行左右,却提供了非常完善的命令行参数解析功能。命令行参数如果你有使用过类Unix(比如MacOS,Linux)等操作系统,相信你应该明白命令参数是什么,比如下面的两条命令:$ mysql -u r ......
330
0
0
2023-02-05
目录1、net/http爬虫2、goquery库爬虫3、colly框架爬虫1、net/http爬虫net/http配合正则表达式爬虫。package main import ( "fmt" "io/ioutil" "log" "net/http" "os" "regexp" "strings" "sync" ) ......
346
0
0
2023-02-05
目录前言案例mapmap定义map声明map的操作总结前言今天咱们来学习一下golang中的map数据类型,单纯的总结一下基本语法和使用场景,也不具体深入底层。map类型是什么呢?做过PHP的,对于数组这种数据类型是一点也不陌生了。PHP中的数组分为索引数组和关联数组。例如下面的代码:// 索引数组【数组的key是一个数字, 从0,1,2开始递增】 $ar ......
407
0
0
2023-02-05
目录含义定义三个要素切片与数组的区别示例代码切片内存分布切片定义分类数组生成切片示例代码切片索引直接声明切片定义语法代码示例使用make定义切片常用操作长度计算容量计算判断是否为空切片追加语法格式尾部追加开始位置追加中间位置追加复制引用和复制切片的删除删除开头删除中间删除结尾指定位置排序迭代器含义切片是一个种特殊的数组。是对数组的一个连续片段的引用,所以切片 ......
372
0
0
2023-02-04
目录前言goreplay介绍与安装使用示例流量放大、缩小流量写入到ElastichSearchgoreplay基本实现原理总结前言哈喽,大家好,我是asong。今天给大家推荐一款使用Go语言编写的流量回放工具 -- goreplay;工作中你一定遇到过需要在服务器上抓包的场景,有了这个工具就可以助你一臂之力,goreplay的功能十分强大,支持流量 ......
391
0
0
2023-02-04
目录串行调用基于sync.WaitGroup实现简单的并发调用基于errgroup.Group实现并发调用总结串行调用在用go编写web/rpc服务器的时候,经常会出现需要对下游多 个/组 服务调用rpc(或者其他比较耗时的操作)的情况。按照自然的写法,比如对下游有ABC三个调用,串行顺着写,就总共要花费TimeA+TimeB+TimeC的时间:func H ......
341
0
0
2023-02-03
目录什么是SVGSVG定义SVG优点预定义元素圆形 <circle>直线 <line>文字 <text>结点SVG格式根结点子树结点叶结点结点坐标结点文本二叉树转SVG全部源代码最近一直在刷二叉树题目,但在要验证结果时,通常用中序遍历、层序遍历查看结果,验证起来没有画图来得直观,所有想到自己动手制作二叉树的树形图。 直接开 ......
327
0
0
2023-02-03
目录背景kfifo实现无锁快速取余数据结构Push()Pop()性能测试无界环形缓冲器Push()grow()线程安全性代码地址背景环形缓冲器(ringr buffer)是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,适合缓存数据流。在使用上,它就是一个固定长度的FIFO队列:在逻辑上,我们可以把它当成是一个环,上面有两个指针代表当前写索引和读索引: ......
368
0
0
2023-02-02
目录一、技术背景1.1 程序的动态链接技术1.1.1 动态链接库1.1.2 动态共享对象1.1.3 非编译语言的动态技术1.2 Golang 的动态技术二、Golang 的第三方解释器(Yaegi)2.1 使用场景2.1.1 内嵌解释器2.1.2 动态扩展框架2.1.3 命令行解释器2.2 数据交互2.2.1 数据输入2.1.2 数据输出三、实现原理3.1 ......
444
0
0
2023-02-01
目录1 包简介1.1 工作空间1.2 源文件1.3 包命名1.4 main 包2导包2.1 两种方式2.2 包的别名2.3 简洁模式2.4非导入模式(匿名导入)2.5 导包的路径2.6 远程导入3 初始化 init3.1 init总结4 包管理4.1 演变过程4.2 Go Model优点4.3 启用go module4.4 GOPROXY5 go mod详解 ......
316
0
0
2023-01-31
目录问题解决命令行参数系统环境变量打包进二进制文件配置热更新开源的fsnotify(1)安装(2)案例使用viper开源库实现热更新问题Go语言在编译时不会将配置文件这类第三方文件打包进二进制文件中它既受当前路径的影响,也会因所填写的不同而改变,并非是绝对可靠的解决命令行参数在Go语言中,可以直接通过flag标准库来实现该功能。实现逻辑为,如果存在命令行参数 ......
341
0
0
2023-01-31