Go语言技术文章

  • Go实现HTTP代理服务器教程
    Go实现HTTP代理服务器教程
    直接用httputil.NewSingleHostReverseProxy会丢请求头,因其默认过滤敏感头(如Connection、Host)且替换Host导致路由错误;需重写Director保留原始Host,用ModifyResponse清理chunked,禁用默认header过滤。
    Golang · Go教程   |  3个月前  |   353浏览 收藏
  • GolangRPC压缩与性能优化技巧
    GolangRPC压缩与性能优化技巧
    在Golang中开启RPC压缩需自定义编解码器,具体步骤如下:1.在客户端和服务端分别注册自定义的ClientCodec和ServerCodec;2.使用bufio.Writer配合gzip.NewWriter或flate.NewReader实现数据的压缩与解压;选择压缩算法时,若追求性能且通信双方为Go语言编写,推荐使用更轻量的flate,否则可选gzip;此外,编码优化包括减少结构体字段、拆分大请求、启用连接复用及使用sync.Pool缓存压缩资源,以降低GC压力并提升性能。
    Golang · Go教程   |  3个月前  |   197浏览 收藏
  • Golang实现电影评分系统教程
    Golang实现电影评分系统教程
    用map和结构体可快速搭建Go评分模型:movie用map[string]Movie,rating用map[int64][]Rating,配sync.RWMutex;Movie.ID用string、Rating.Score用float32;CalculateAverageScore需判空并用float64累加,结果保留一位小数;HTTP接口须校验JWT用户ID、防重复提交;SQLite需手动启用外键、日期存ISO8601格式。
    Golang · Go教程   |  3个月前  |   370浏览 收藏
  • Golang结构体序列化方法与技巧
    Golang结构体序列化方法与技巧
    Go中json.Marshal序列化失败的根本原因是字段未导出或标签使用不当;它依赖反射遍历导出字段,但仅处理首字母大写的字段,零值默认省略,私有字段需通过自定义MarshalJSON方法安全访问。
    Golang · Go教程   |  3个月前  |   258浏览 收藏
  • Golang测试API请求与响应方法
    Golang测试API请求与响应方法
    使用httptest创建测试服务器,通过http.Client发送请求并校验状态码、响应头和结构化JSON数据,需覆盖正常流程与错误场景,如参数缺失、认证失败等,确保API稳定性和健壮性。
    Golang · Go教程   |  3个月前  |   299浏览 收藏
  • Go项目迁移到Modules的完整步骤详解
    Go项目迁移到Modules的完整步骤详解
    老项目启用GoModules需谨慎清理vendor等残留机制,确认GO111MODULE非off,gomodinit后须gomodtidy再gomodvendor,并校验fork变更;CI中应禁用GOPATH依赖、使用goinstall安装工具、加-mod=readonly防止意外修改。
    Golang · Go教程   |  3个月前  |   419浏览 收藏
  • Golang微服务限流:令牌桶与漏桶详解
    Golang微服务限流:令牌桶与漏桶详解
    令牌桶算法允许突发流量,以固定速率添加令牌,请求需消耗令牌;漏桶算法严格按固定速率处理请求,平滑流量。1.令牌桶实现包括设定桶容量、定时补充令牌、请求取令牌;2.漏桶通过channel模拟队列,固定速率处理请求。适用场景上,令牌桶适合WebAPI限流,漏桶适合后台任务队列。实现时需注意并发安全、精度问题和资源占用。
    Golang · Go教程   |  3个月前  |   348浏览 收藏
  • Go语言正确返回时间的方法
    Go语言正确返回时间的方法
    在Go中定义返回时间的函数时,应直接返回time.Time类型而非字符串——这既符合类型安全原则,又能完整保留时间的语义能力(如比较、加减、格式化等),便于后续调用方灵活使用。
    Golang · Go教程   |  3个月前  |   440浏览 收藏
  • ASDF多版本Golang管理与环境隔离方案
    ASDF多版本Golang管理与环境隔离方案
    go命令不生效的根本原因是asdfshims未加入PATH或shell配置未重载;需将~/.asdf/shims加至PATH最前、source配置文件、运行asdfreshimgolang并验证whichgo输出。
    Golang · Go教程   |  3个月前  |   233浏览 收藏
  • GolangRPC负载均衡技巧与优化方法
    GolangRPC负载均衡技巧与优化方法
    Go的net/rpc不支持负载均衡,需手动封装轮询+健康检查调度器或改用gRPC;gRPC原生支持round_robin策略及服务发现,且具备context传播、Protobuf编码等优势。
    Golang · Go教程   |  3个月前  |   432浏览 收藏
  • Golang组合模式实现树形结构教程
    Golang组合模式实现树形结构教程
    Go中Composite模式通过接口抽象行为、结构体字段嵌入实现复用,关键在于叶子与容器对调用者透明;需避免nilpanic、类型断言破坏多态、字段命名歧义、循环引用panic、递归栈溢出及粗粒度锁等问题。
    Golang · Go教程   |  3个月前  |   195浏览 收藏
  • 关闭Redis持久连接的正确方式
    关闭Redis持久连接的正确方式
    在长期运行的Go服务中(如监听SIGTERM的Redis客户端),需确保程序优雅退出时可靠释放连接;关键在于将deferconn.Close()置于主生命周期作用域(如main()函数末尾),而非单次操作函数内。
    Golang · Go教程   |  3个月前  |   160浏览 收藏
  • Golang结构体对齐与Padding详解
    Golang结构体对齐与Padding详解
    结构体字段顺序直接影响内存占用:Go按声明顺序布局字段并插入padding以满足对齐要求,大字段前置、同类型聚集可减少padding;对齐值由字段自身决定(最大8),嵌套结构体的尾部padding会传染至外层;需用工具检测静默浪费。
    Golang · Go教程   |  3个月前  |   380浏览 收藏
  • Golang命令队列实现教程详解
    Golang命令队列实现教程详解
    答案:Golang通过接口定义命令,使用channel实现队列,goroutine并发执行,解耦任务提交与处理。1.定义Command接口及PrintCommand、SaveCommand等实现;2.创建CommandQueue结构体,用bufferedchannel存储命令,workers数量控制并发执行;3.Start方法启动多个goroutine从channel读取并执行命令;4.AddCommand提交任务,Stop关闭队列;5.主函数示例展示提交打印与保存命令,输出有序执行结果;6.建议扩展:支
    Golang · Go教程   |  3个月前  |   265浏览 收藏
  • 约束~int/any/comparable是Go语言中泛型(Generics)的语法,用于定义类型参数的约束。它的作用是限制类型参数可以接受的类型范围,确保在使用时类型满足某些条件。下面我来解释一下这个约束的含义和用法:✅基本语法funcMyFunction[T~int|any|comparable](xT){//...}这里的T~int|any|comparable是对类型参数T的约束,表示T可
    约束~int/any/comparable是Go语言中泛型(Generics)的语法,用于定义类型参数的约束。它的作用是限制类型参数可以接受的类型范围,确保在使用时类型满足某些条件。下面我来解释一下这个约束的含义和用法:✅基本语法funcMyFunction[T~int|any|comparable](xT){//...}这里的T~int|any|comparable是对类型参数T的约束,表示T可
    comparable仅支持==、!=和map键,不支持算术或有序比较;需用ordered约束实现>等操作;~int仅匹配底层为int的类型,非所有整数;any放弃类型信息,comparable保障可比较性;comparable与~int不可并列,struct含不可比字段即失comparable资格。
    Golang · Go教程   |  3个月前  |   487浏览 收藏
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
  • Golang深入理解GPM模型
    Golang深入理解GPM模型
    Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
    474次学习
查看更多
AI推荐
  • ljg-skills -
    ljg-skills
    ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
    4420次使用
  • MELO音乐 - AI 音乐生成平台,支持多模态创作能力
    MELO音乐
    MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
    4078次使用
  • UniScribe - AI 免费在线音视频转文字平台
    UniScribe
    UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
    4059次使用
  • 剧云 - 免费 AI 智能中文剧本创作平台
    剧云
    剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
    4245次使用
  • 万象有声 - AI 一站式有声内容创作平台
    万象有声
    万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
    4220次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码