【新版】使用 go-cqhttp 扫码登录,一键接入 ChatGPT 机器人到 QQ 群
目录🎈 项目效果🎈 安装 go-cqhttp🎈 虚拟文件🎈 启动 ChatGPT
🎈 项目效果
由于 ChatGPT 目前只能在漂亮国使用,所以想要在国内使用 ChatGPT 必然险阻重重
不仅时时刻刻要跟企鹅公司斗智斗勇,还要时时刻刻都要跟 openai 公司打游击,真的是很难有一个稳定的版本供大家屡试不爽
在不断的游击战中,我们也是越战越勇,在 ...
kubernetes client-go功能介绍
client-go是什么?
client-go是Kubernetes官方提供的Go语言客户端库,用于与Kubernetes API服务器交互。使用client-go,您可以编写Go语言程序来创建、修改和删除Kubernetes对象,如Pod、Deployment、Service等。
作用
client-go的主要功能包括:
连接Kubernetes API服务器:client-go提供了一个API客户端,用于连接Kuberne ...
Go 中的反射 reflect 介绍和基本使用
一、什么是反射
在计算机科学中,反射(英语:reflection)是指计算机程序在运行时(runtime)可以访问、检测和修改它本身状态或行为的一种能力。用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。(来自wikipedia)
反射是程序审查自身结构的能力,并能对程序做出一定的修改。
对于人来说,审查自身 ...
【Go并发编程】Go使用协程批量获取数据,加快接口返回速度
服务端经常需要返回一个列表,里面包含很多用户数据,常规做法当然是遍历然后读缓存。
使用Go语言后,可以并发获取,极大提升效率。
使用channel
package main
import (
"fmt"
"time"
)
func add2(a, b int, ch chan int) {
c := a + b
fmt.Printf("%d + %d = %d\n", a, b, c)
ch <- 1 //执行完了就写一条 ...
Go Gin 框架
简介
中文官网:https://gin-gonic.com/zh-cn/docs/introduction/
github:https://github.com/gin-gonic/gin
Gin 是一个用 Go (Golang) 编写的 Web 框架。 它具有类似 martini 的 API,性能要好得多,多亏了 httprouter,速度提高了 40 倍。 如果您需要性能和良好的生产力,您一定会喜欢 Gin
Go 1.13 及以上版本
特性
1. ...
Asynq 实现 Go 异步任务处理
目录Asynq 实现 Go 异步任务处理一、概述二、快速开始1. 准备工作2. 安装asynq软件包3. 创建项目asynq_task2. Redis连接项4. Task任务5. 编写程序6. 运行查看结果三、细节1. 关于asynq的优雅退出2. client中 client.Enqueue 的使用四、监控和管理工具
Asynq 实现 Go 异步任务处理
一、概述
今天为大家介绍一个Go处理异步任 ...
Go规则引擎:Gengine
gengine是一款基于golang和AST(抽象语法树)开发的规则引擎,使用一套自定义的简单语法来定义规则来实现语言无关,并且还执行规则执行的各种模式,功能也很强大。
核心API
对于gengine的使用,我们先掌握几个核心的API。
DataContext:用于注入规则中需要使用的数据或者API。
RuleBuilder:接收DataContext作为参数,并将用 ...
ORM哪家强?java,c#,php,python,go 逐一对比, 网友直呼:全面客观
前言
最近一段时间,我使用golang开发了一个新的ORM库。
为了让这个库更好用,我比较研究了各语言的主流ORM库,发现有一些语言的ORM库确实很好用,而有另外一些语言的库那不是一般的难用。
然后我总结了他们呢的一些共性和差异点,于是形成了本文的主要内容。
本文会先说明什么是SQL编写难题,以及探讨一下 code first 和 d ...
go 环境搭建
SDK下载
下载地址:
https://golang.google.cn/dl/
https://studygolang.com/dl
这两个那个下载快 用那个 都是镜像 ,官网被墙了(你懂得)官网地址
https://golang.org/dl/
然后下载对应平台的安装包,例如我这里就是 win平台
安装
下载完成后,双击安装包,一路下一步即可,这里使用的是1.19.5版本
设置安装位置
...
go mod和go vendor的区别
这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天
背景
在家安装的环境可能路径和环境变量配的有些问题,导致项目import的包全部标红,go mod tidy显示导入包不在路径,怎么可能不在路径呢。
这就好比我们写cpp程序,我们从官方库里include一个.h,而后自己图方便也写了个.h,但是程序并不能识别出我们自己写的.h, ...
Three.js 进阶之旅:新春特典-Rabbit craft go 🐇
声明:本文涉及图文和模型素材仅用于个人学习、研究和欣赏,请勿二次修改、非法传播、转载、出版、商用、及进行其他获利行为。
摘要
兔年到了,祝大家身体健康,万事顺利。本文内容作为兔年新春纪念页面,将使用 Three.js 及 其他前端开发知识,创建一个以兔子为主题的 3D 简单的趣味页面 Rabbit craft go。本文内容包括使 ...
像go 一样 打造.NET 单文件应用程序的编译器项目bflat 发布 7.0版本
现代.NET和C#在低级/系统程序以及与C/C++/Rust等互操作方面的能力完全令各位刮目相看了,有人用C#开发的64位操作系统: GitHub - nifanfa/MOOS: C# x64 operating system pro...,截图要介绍的是一个结合Roslyn和NativeAOT的实验性编译器bflat :https://github.com/bflattened/bflat。一年前的公众号文章 打造史上最小尺寸. ...
Go--cron定时任务
Cron是Go中用于设置定时任务的一个库,需要注意的是,Cron库分两个大版本,v1.2和v3.0,其功能和go get地址都是不同的,注意区分。
v1.2官方文档:https://pkg.go.dev/github.com/robfig/cron
v3官方文档:https://pkg.go.dev/github.com/robfig/cron/v3
区别:
v1.2版本默认支持精确到秒的cron表达式
v3版本默认不再是支 ...
GO安装及 mod vendor使用
软件下载
https://golang.google.cn/https://dl.google.com/go/go1.19.3.linux-amd64.tar.gz
环境变量设置
export GOWKS=/data/wks/tpf
export GOROOT=$GOWKS/app/go
export GOBIN=$GOWKS/bin
export GOPATH=$GOWKS
export PATH=$GOROOT/binGOBINPATH
GOWKS是自定义的GO工作空间,GO软件安装在其app/go目录下,GOWKS ...
GO生成UUID
uuid简介
通用唯一识别码(英语:universally unique identifier,简称uuid)是一种软件建构的标准,亦为自由软件基金会组织在分散式计算环境领域的一部份。
uuid的目的,是让分散式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。
如此一来,每个人都可以创建不与其它人冲突的uuid。 ...
Go map 竟然也会发生内存泄漏?
Go 程序运行时,有些场景下会导致进程进入某个“高点”,然后就再也下不来了。
比如,多年前曹大写过的一篇文章讲过,在做活动时线上涌入的大流量把 goroutine 数抬升了不少,流量恢复之后 goroutine 数也没降下来,导致 GC 的压力升高,总体的 CPU 消耗也较平时上升了 2 个点左右。
有一个 issue 讨论为什么 allgs(runtim ...
.NET 7 AOT 的使用以及 .NET 与 Go 互相调用
目录背景C# 部分环境要求创建一个控制台项目体验 AOT 编译C# 调用库函数减少体积C# 导出函数C# 调用 C# 生成的 AOTGolang 部分安装 GCCGolang 导出函数.NET C# 和 Golang 互调C# 调用 GolangGolang 调用 C#其他
背景
其实,规划这篇文章有一段时间了,但是比较懒,所以一直拖着没写。
最近时总更新太快了,太卷了,所以借着 ...
写在Go语言招生之际 - 学相伴 - 狂神说
写在Go语言招生之际,谈谈这两年所见所想,希望能对你有启发。
前两天看视频看到一个评论,先生愿教我不愿学,时也!命也!
作为一名讲师深有感触。
1 那个时候有几十万的Java观众,很多朋友劝我开些Java课,还有很多机构找我合作,如果随便做点课招生,估计就是几百万的收入,但是我拒绝了,有人说我蠢,有钱不 ...
Go 每日一库之 go-cache 缓存
什么是 go-cache
go-cache 是一个轻量级的基于内存的 K-V 储存组件,内部实现了一个线程安全的 map[string]interface{},适用于单机应用。具备如下功能:
线程安全,多 goroutine 并发安全访问;
每个 item 可以设置过期时间(或无过期时间);
自动定期清理过期的 item;
可以自定义清理回调函数;
这里的 i ...
利用Kafka的Assign模式实现超大群组(10万+)消息推送
引言
IM即时通信场景下,最重要的一个能力就是推送:在线的直接通过长连接网关服务转发,离线的通过APNS或者极光等系统进行推送。
本文主要是针对在线用户推送场景来进行总结和探讨:如何利用Kafka的Assign模式,解决百万级长链接海量消息的路由广播问题?如何解决超大聊天室成员(超过10万)的消息推送问题?
问题 ...