
Go
Go
幺零九零零
写项目先要以最小单位Demo去写
展开
-
【Golang】实现一个最简单的RBAC访问控制
基于 Gin 框架实现最简单 RBAC(基于角色的访问控制)的示例代码。这个示例包括用户、角色和权限的基本功能,以及如何通过中间件进行权限验证。原创 2025-01-24 17:01:05 · 385 阅读 · 0 评论 -
【golang】实现最简单的ACL访问控制Demo
通过直接使用username,我们可以更灵活地管理每个用户的权限,而不需要依赖于角色。这种方式特别适合需要为每个用户定制权限的场景。原创 2025-01-24 17:17:45 · 240 阅读 · 0 评论 -
【Golang】FFmpeg 实现切片播放,倍速播放,在线截图,截取视频
【代码】FFmpeg 切片播放测试。原创 2025-01-22 15:10:50 · 551 阅读 · 0 评论 -
golang 实现最简单的直播Demo(只在本机实验)
【代码】golang 实现最简单的直播Demo(只在本机实验)原创 2025-01-20 23:17:45 · 274 阅读 · 0 评论 -
【Golang】RabbitMq使用
创建一个简单的 Go 项目来学习 RabbitMQ 的基本操作。我们将创建一个生产者和消费者的示例。原创 2025-01-07 10:13:19 · 519 阅读 · 0 评论 -
【golang】jwt校验
【代码】【golang】jwt校验。原创 2024-12-19 21:57:08 · 135 阅读 · 0 评论 -
【golang】MultipartForm
的文件字段上传的所有文件。原创 2024-12-19 19:36:57 · 140 阅读 · 0 评论 -
【Golang】建立redis连接
【代码】【Golang】建立reids连接。原创 2024-12-19 18:57:18 · 371 阅读 · 0 评论 -
【golang】尝试抽离代码
【代码】【golang】尝试抽离代码。原创 2024-12-19 11:18:52 · 108 阅读 · 0 评论 -
【golang】logrus 日志类的初始化
【代码】【golang】logrus 日志类的初始化。原创 2024-12-19 11:17:58 · 126 阅读 · 0 评论 -
【golang】封装ShouldBind错误
【代码】【golang】封装ShouldBind错误。原创 2024-12-19 10:57:49 · 93 阅读 · 0 评论 -
【golang】gorm migration建表
【代码】【golang】gorm migration建表。原创 2024-12-19 10:38:23 · 257 阅读 · 0 评论 -
深度探索Go语言(三) 函数
从代码结构来看,层层函数调用就是一个后进先出的过程,与数据结构中的入栈出栈操作完全一致,所以非常适合用栈来管理函数的局部变量等数据。CALL指令会先把下一条指令的地址压入栈中,这就是所谓的返回地址,然后会跳转到f1()函数的地址处执行。CPU在执行程序时,IP寄存器会指向下一条即将被执行的指令,而SP寄存器会指向栈顶。RET指令会从栈上弹出返回地址,然后跳转到该地址处继续执行。在一个函数的调用过程中,栈不只被用来存放返回地址,还被用来传递参数和返回值,以及分配函数局部变量等。,以及入栈出栈对应的指令。原创 2024-12-11 21:59:56 · 224 阅读 · 0 评论 -
深度探索Go语言(二) unsafe包
用到了unsafe.Pointer进行指针的强制类型转换和指针运算,实际上就是人为地干预编译器对内存地址的解释方式,这些能力对于研究语言的底层实现来讲是不可或缺的。用到了unsafe.Pointer进行指针的强制类型转换和指针运算,实际上就是人为地干预编译器对内存地址的解释方式,这些能力对于研究语言的底层实现来讲是不可或缺的。Slice Header结构只是比String Header结构多了一个容量字段,相当于内嵌了一个String Header。原创 2024-12-11 21:19:26 · 792 阅读 · 0 评论 -
【golang】从零开始实现加密数据推拉项目
命令来初始化一个新的模块。你需要为你的模块指定一个唯一的名称,这通常是你的域名的反向表示,以确保唯一性。修改main函数 和root.go使得出现错误时打印错误后退出。3.若使用wsl把代理ip变为主机ipconfig显示ip。4.go get 和go install的区别。生成main.go和root.go。cobra创建main.go函数。5.自动生成的server.go。6.自动生成的version.go。替换为你的实际用户名和项目路径。的目录,接下来进入该目录。: 在项目目录中,运行。原创 2024-12-05 13:56:30 · 108 阅读 · 0 评论 -
【Golang】线程安全的map,并发安全的map和普通的map
普通的map:适用于单线程环境或不需要并发访问的场景,具有快速的查找、插入和删除操作。线程安全的map:通过加锁机制(如sync.Mutex或)来保证并发访问时的数据安全。并发安全的map(sync.Map:适用于高并发场景,特别是在读多写少或多个goroutine操作不同键的场景下,能够提供更好的性能。原创 2024-12-04 15:15:19 · 590 阅读 · 0 评论 -
golang 内存解析
。原创 2024-12-01 12:45:13 · 125 阅读 · 0 评论 -
Go语言和C++的优缺点对比
。原创 2024-11-23 00:10:25 · 521 阅读 · 0 评论 -
【Golang】函数
函数重载(function overloading)指的是可以编写多个同名函数,只要它们拥有不同的形参 / 或者不同的返回值,在 Go 里面函数重载是不被允许的。除了 main ()、init () 函数外,其它所有类型的函数都可以有参数与返回值。所以你需要给不同的函数使用不同的名字,我们通常会根据函数的特征对函数进行命名。,特别是空接口与类型选择(type switch)与 / 或者通过使用反射(reflection)来实现相似的功能。,也就是说它不支持那种支持多种类型的函数。),不过我们可以通过使用。原创 2024-11-22 17:35:28 · 359 阅读 · 0 评论 -
【Golang】switch使用
【代码】【Golang】switch使用。原创 2024-11-22 16:18:10 · 197 阅读 · 0 评论 -
【Golang】strings库
【代码】【Golang】strings库。原创 2024-11-21 23:45:40 · 989 阅读 · 0 评论 -
【Golang】基本类型和运算符
Golang对值之间有比较严格的限制,只有两个类型相同的值才可以比较,格式化输出时可以使用%t表示你要输出的值是布尔类型对于布尔值而言好的命名能很好提高代码的可读性。例如以is或者Is开头的isSorted、isFinished、isVisible。Go语言没有float类型只float32和float64,没有double类型。float32精确到瞎弄书店后7位,float64精确到后15位,由于精确度的原因在使用==或!=时要小心你可以使用a:=uint64(0)来同时完成类型的转换和赋值。原创 2024-11-11 22:03:31 · 362 阅读 · 0 评论 -
【Golang】变量
当一个变量被声明以后,系统会自动赋予它该类型的零值:int为0 ,float为0.0,bool为false,string为"",指针为nil。不是什么时候都适用的,如果你想要给变量的值并不是自动推断出的类型,你需要显示指定变量类型。这种语法是不正确的,因为编译器没有任何可以用于自动推断类型的依据,变量的类型也可以在。Go与许多编程语言不同,它在声明变量是把变量类型放在变量名称之后,上面的有var的声明写法主要是用于声明包级别的全局变量,当你在。但是全局变量var声明的变量允许。不允许声明但是不使用。原创 2024-11-11 17:31:31 · 279 阅读 · 0 评论 -
【Golang】Echo学习(三)echo.Context学习
首先,我们需要定义一些基础结构体来封装 HTTP 请求、响应和上下文。原创 2024-11-08 18:24:16 · 324 阅读 · 0 评论 -
【Golang】Context学习+实验代码
在Go语言中,context包是用来处理上下文的,它可以帮助控制取消操作、超时、截止时间等。下面是一个简单的使用context。原创 2024-11-08 15:54:57 · 360 阅读 · 0 评论 -
【 Golang】闭包
闭包可以记住外部变量的状态并在后续的调用中继续操作,这在编写一些需要状态的函数或工厂函数时非常有用。原创 2024-11-08 15:46:48 · 219 阅读 · 0 评论 -
【Golang】Mutex源码解析
在 Go 中,锁的主要作用是保护共享资源,避免多个 goroutine 同时访问导致数据不一致。常见的锁有sync.Mutex和。以下是一个简单的例子,演示如何用sync.Mutex。原创 2024-11-08 14:55:10 · 330 阅读 · 0 评论 -
【Golang】mq消息队列学习
不使用 MQ(同步)所有的任务(如发送通知)都在主程序内同步处理,导致程序必须等待每个任务完成后才能继续执行其他任务。适用于任务量少或不需要异步处理的场景。使用 MQ(异步)使用 RabbitMQ 或其他消息队列,生产者将任务发送到消息队列,消费者从队列中取任务并异步处理。这样生产者和消费者解耦,任务处理更加灵活且可扩展,适用于高并发或需要任务异步处理的场景。原创 2024-11-08 11:20:01 · 492 阅读 · 0 评论 -
【Golang】高并发的外卖点单系统设计
使用 Go 可以轻松地构建高并发的外卖点单系统。利用 goroutine 实现并发处理,再结合数据库、缓存、消息队列和分布式架构,能够支撑百万并发的场景。原创 2024-11-08 08:17:27 · 385 阅读 · 0 评论 -
【Golang】Echo框架学习(二)中间件的使用
在框架中,中间件是用于处理请求和响应的函数,它们可以在请求到达路由处理函数之前或响应发送给客户端之前对请求进行处理。原创 2024-11-07 20:48:37 · 369 阅读 · 0 评论 -
【Golang】Echo框架使用(一)从0实现视频文件上传下载
从0实现视频文件上传下载原创 2024-11-07 19:29:49 · 209 阅读 · 0 评论 -
【Golang】default库的使用
【代码】【Golang】default库的使用。原创 2024-11-07 08:55:20 · 254 阅读 · 0 评论 -
【Golang】validator库的使用
【代码】【Golang】validator库的使用。原创 2024-11-06 20:56:52 · 384 阅读 · 0 评论 -
【Golang】数组与Slice切片学习+实验代码
数组:需要指定数组的长度,例如 var arr [5]int。切片:不需要指定长度,例如 var slice []int。数组:声明时分配固定大小的内存空间。切片:声明时不分配内存,只是定义了一个引用,可以指向一个数组或另一个切片。数组:不能直接增长或缩小。切片:可以通过 append 函数动态增长,也可以通过切片操作(如 slice[1:3])来缩小。切片是一种数据结构,切片不是数组,切片描述的是一块数组 array (指针)len (有效长度)cap。原创 2024-11-06 12:03:35 · 313 阅读 · 0 评论 -
【Golang】解决Golang代码不报错问题
学习go之前选择第一个安装工具全选确定出现表示成功。原创 2024-11-06 10:43:26 · 567 阅读 · 0 评论 -
删除json换行
【代码】删除json换行。原创 2024-10-14 09:47:07 · 491 阅读 · 0 评论 -
[性能对比] :Go语言内置正则库与grok、re2、hyperscan
效率是衡量系统、算法或程序在资源使用和完成任务速度方面表现的指标。原创 2024-10-12 19:30:12 · 1193 阅读 · 0 评论 -
golang :写入内容到csv文件
【代码】golang :写入内容到csv文件。原创 2024-10-14 11:44:58 · 145 阅读 · 0 评论 -
[golang] ent使用
【代码】ent生成命令。原创 2024-10-23 15:30:07 · 364 阅读 · 0 评论 -
golang生成 随机Nginx 访问日志数据
【代码】golang生成 随机Nginx 访问日志数据。原创 2024-10-21 10:07:15 · 145 阅读 · 0 评论