小红花·文摘
  • 首页
  • AI Tokens🪙
  • 排行榜🏆
  • 直播
  • FAQ

本文介绍Go服务开发的实用模式:使用net/http构建HTTP服务与客户端,涵盖处理器、ServeMux路由、JSON API及中间件;通过os/signal与context实现信号处理和优雅关闭,避免缓冲数据丢失;用go:embed嵌入SQL迁移文件,配合goose管理数据库版本;并讲解reflect包,用于运行时检查类型、读写结构体字段、读取标签及动态调用函数。

Go 构建服务 — HTTP、信号、迁移与反射

Kimserey Lam’s website, Software Development blog posts, videos and tutorials Kimserey Lam’s website, Software Development blog posts, videos and tutorials · 2026-09-12T05:00:00Z

本文讨论了如何为Go语言中的go:embed嵌入资源开启条件缓存。通过HTTP条件请求,服务器可以利用文件的Last-Modified或ETag信息判断资源是否更新,从而减少数据传输。由于go:embed嵌入的文件失去了修改时间,作者提出了两种解决方案:使用服务启动时间或源代码最近提交时间。此外,扩展了fs.FS接口以支持条件请求,但尚未实现基于ETag的条件请求。

为 go:embed 嵌入的资源开启条件缓存

涛叔 涛叔 · 2025-02-14T16:00:00Z

Go语言的go:embed功能简化了Web应用的部署,允许将静态资源嵌入到Go程序中,从而只需发布二进制文件,无需额外复制资源。尽管嵌入的文件在编译后无法实时修改,但可以通过条件编译实现开发和生产环境的灵活切换。使用http.FS和http.FileServer,开发者可以根据环境动态加载文件,提升开发效率。

使用 go:embed 简化 Web 应用部署

涛叔 涛叔 · 2025-01-17T16:00:00Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码