在 Go 中为什么推荐使用空结构体作为 Context 的 key 使用 Context 进行传值我们知道 Context 主要有两种用法,控制链路和安全传值。在此我来演示下如何使用 Context 进行安全传值:package mainimport ( "co Golang 2025-06-18 145 点赞 2 评论 219 浏览
使用 goframe 框架的规范路由进行图片文件压缩包的上传与处理 如何使用 GoFrame 规范路由实现上传一个压缩包(例如 zip 格式)并解压出其中的图片文件进行处理。示例分为两个部分:路由注册和处理函数代码。1. 路由注册假设项目结构中有一个 router 包,用于统一注册路由。在这里,我们注册一个 POST 请求路由 /upload/zip,指向处理上传的 Golang 2025-02-10 212 点赞 3 评论 321 浏览
golang实现定时登录ftp扫描文件下载到本地,如果存在则跳过 在 Golang 中,你可以使用 github.com/jlaffaye/ftp 库来实现 FTP 连接、扫描远程文件并下载到本地。下面是一个完整的示例代码,涵盖以下功能:连接到 FTP 服务器获取远程目录的文件列表逐个下载文件到本地关闭 FTP 连接代码示例:package ma Golang 2025-02-06 386 点赞 5 评论 584 浏览
如何用go语言和openai的api接口实现一个例如例如旅游类的专业助手呢? 要在Go语言中使用OpenAI的API实现一个旅游方面的专业助手,可以按照以下步骤来进行开发。你将使用Go语言和OpenAI的API接口,通过HTTP请求与OpenAI的API进行交互,并处理返回的数据来实现旅游助手的功能。步骤1: 设置Go开发环境首先,你需要确保已经安装了Go,并且设置了GOPA Golang 2024-08-14 150 点赞 2 评论 227 浏览
golang使用FFmpeg 压缩视频后自动缩小分辨率适应视频 如果你希望在压缩视频时,自动缩小视频的分辨率以适应更小的文件大小,可以使用 FFmpeg 的 scale 滤镜,并根据目标分辨率或缩放比例来调整视频的尺寸。以下是几种常用的方法:1. 按比例缩放你可以根据一个固定的比例缩放视频的分辨率。例如,缩放至原始分辨率的 50%:-vf &a Golang 2024-08-12 135 点赞 2 评论 204 浏览
golang实现视频压缩并加水印 在 Go 语言中实现视频压缩并加水印的功能,通常需要调用外部工具如 FFmpeg。FFmpeg 是一个非常强大的多媒体处理工具,可以进行视频编码、解码、转码、压缩、加水印等操作。我们可以通过 Go 语言调用 FFmpeg 来实现这些功能。下面是一个完整的方案,包括如何在 Go 中使用 FFmpeg Golang 2024-08-12 131 点赞 1 评论 198 浏览
golang简单视频播放的服务器端方案 如果你只需要实现一个用于网页视频播放的服务器端方案,Go 语言提供了一些轻量且高效的工具和库,能够让你快速搭建一个视频流媒体服务器。以下是几种适合网页视频播放的服务器端方案:1. 使用 HTTP 文件服务器提供视频最简单的方案是使用 Go 的标准库 net/http 直接提供视频文件,通过 HTTP Golang 2024-08-12 145 点赞 2 评论 219 浏览
Golang有没有好用的实时流媒体应用框架 在 Golang 中开发实时流媒体应用时,有几个专门设计或非常适合处理实时数据流的框架和库。以下是几款最适合实时流媒体应用的 Golang 框架:1. PionPion 是一个非常流行的 Go 库,用于实现 WebRTC 协议。WebRTC 是一种开源的协议,支持点对点的视频、音频和数据通信,非常适 Golang 2024-08-12 121 点赞 1 评论 183 浏览
golang实现协程写入map 代码如下package main import ( "fmt" &nb Golang 2024-06-07 191 点赞 2 评论 289 浏览
golang使用管道限制协程数量 代码如下:package main import ( "fmt" &n Golang 2024-06-07 180 点赞 2 评论 272 浏览
TCP黏包是什么?golang中如何解决TCP黏包 什么是tcp黏包呢?先来看一段代码:// socket_stick/server/main.gofunc process(conn net.Conn) { & Golang 2024-06-05 868 点赞 13 评论 1315 浏览
用golang实现以太坊EIP-712 的签名和解签的代码 以下是用 Go 实现 EIP-712 的签名和验证签名的代码示例:package mainimport ( "encoding/hex" "encoding/json" & Golang 2024-04-28 205 点赞 3 评论 310 浏览
abbitmq中topic的两种模式区别 在 RabbitMQ 中,Topic 交换机是一种非常灵活的交换机类型,它允许基于消息的路由键(routing key)和绑定键(binding key)之间的模式匹配来进行消息路由。在使用 Topic 交换机时,主要有两种模式的模式匹配符号:* 和 #。理解这两个模式的区别是设计消息路由策略的关键 Golang 2024-04-28 228 点赞 3 评论 345 浏览
golang使用结构体和map更新mongodb数据时的区别 在使用 Golang 更新 MongoDB 数据时,可以使用结构体(structs)或映射(maps)来表示更新的数据。两者的选择取决于你的需求和特定场景。这里是两种方式的基本差别及其使用场景:使用结构体更新优点类型安全:结构体是类型安全的,这意味着你在编译时就能捕获到类型错误。清晰的代码结构:使用 Golang 2024-04-28 220 点赞 3 评论 333 浏览
golang中最常用的mvc框架有哪些 在Go语言(Golang)中,虽然它本身并不是一个为MVC(Model-View-Controller)架构专门设计的语言,但有几个流行的web框架支持或易于用于实现MVC模式。下面是一些在Go社区中被广泛认为是最好用的,可以用于实现MVC架构的web框架:BeegoBeego 是一个全栈的Go框架 Golang 2024-04-12 955 点赞 14 评论 1446 浏览