
golang学习
张帅涛_666
fm:边学习边总结,对未知充满好奇。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Golang中GROM多表关联跟原生SQL多表关联区别
本文对比了GORM和原生SQL在多表关联查询中的特点与适用场景。GORM多表关联适合返回完整数据,通过逻辑外键实现2-3个表的关联,但会产生多次查询;原生SQL则更适合3个表以上的复杂关联,通过JOIN操作仅需一次查询即可获取精准字段。文章通过商品分类查询的代码示例,展示了两种方式的具体实现:GORM使用Preload预加载关联数据,而原生SQL通过LEFT JOIN实现高效查询并控制返回字段。开发者可根据查询复杂度、性能需求和返回结果要求选择适合的方案。原创 2025-07-20 02:39:10 · 177 阅读 · 0 评论 -
Golang中定义结构体和数据库类型映射总结
本文总结了Golang中结构体与数据库类型映射的要点:1) 模型定义需注意ID大写、索引/外键一致性、可为空字段使用指针类型;2) 提供了MySQL到Go类型的详细映射表,包括bigint(uint/int64)、varchar(string)、datetime(time.Time)等对应关系;3) 特别说明可为null字段需用指针类型,并展示了普通索引、唯一索引的GORM标签写法。文章强调模型与数据库字段的对应关系,为GORM框架下的数据库操作提供了实用参考。原创 2025-07-20 02:05:41 · 406 阅读 · 0 评论 -
Gin框架开发中的类型转换与链式调用技巧
文章摘要:本文探讨了Go+Gin框架开发中的两个关键问题。1) 主键类型处理:数据库使用bigint类型,Model层定义为uint类型,而前端请求参数使用int类型,需要在Service层进行类型转换。2) Model层链式调用:通过动态构建查询条件实现灵活查询,如精确匹配ID、模糊匹配名称等。文章通过订单分类管理示例展示了完整的类型转换和链式查询实现方案,为开发者提供了实用的框架开发经验。原创 2025-07-18 01:11:07 · 265 阅读 · 0 评论 -
goalng中使用Redis和JWT实现登录双重验证
本文介绍了使用Redis缓存和JWT实现双重认证的登录系统。首先通过Go语言初始化Redis连接,设置24小时过期的Token缓存。在用户登录成功后,将Token存入Redis并返回给客户端。路由通过中间件进行双重验证:先检查Redis中的Token有效性(服务端控制),再进行JWT解析(客户端验证)。这种方案结合了Redis的轻量级缓存优势和JWT的无状态特性,实现了可靠的登录认证机制,同时支持单点登录和强制下线功能。原创 2025-07-16 01:33:58 · 297 阅读 · 0 评论 -
golang读、写、复制、创建目录、删除、重命名,文件方法总结
本文介绍了Go语言中常见的文件操作,包括读取、写入、复制、创建目录、删除目录/文件以及重命名文件。在读取文件时,提供了三种方案:逐字节读取、逐行读取以及一次性读取。写入文件时,展示了四种方法,包括直接写入字符串、字节数组、使用缓冲写入以及覆盖写入。复制文件通过读取源文件内容并写入目标文件实现。创建目录支持单级和多级目录的创建。删除操作可以删除指定目录或文件。重命名文件则通过os.Rename函数实现。这些操作涵盖了Go语言中文件处理的基本需求。原创 2025-05-17 23:33:47 · 456 阅读 · 0 评论 -
golang 安装gin包、创建路由基本总结
本文介绍了如何使用Gin框架进行Web开发,包括安装Gin包和热加载工具Fresh,以及如何配置路由和返回不同类型的数据。首先,通过终端命令安装Gin和Fresh,并启动热加载功能。接着,展示了如何创建路由并返回字符串、JSON、结构体、JSONP、XML和HTML等数据格式。文章还详细说明了如何在HTML模板中使用条件判断和循环遍历数据,以及如何向模板中传递变量和结构体。通过这些示例,开发者可以快速上手Gin框架,并实现常见的Web开发需求。原创 2025-05-18 18:44:35 · 424 阅读 · 0 评论 -
golang中的反射示例
本文介绍了Go语言中反射的基本概念和使用方法。首先,通过reflect.TypeOf()和reflect.ValueOf()函数,可以获取变量的底层类型和值。接着,演示了如何通过反射修改底层值,特别是使用Elem()方法获取指针指向的值并进行修改。最后,文章通过结构体反射的示例,展示了如何遍历结构体字段、获取字段值、修改字段值,以及如何使用结构体标签进行数据验证。反射功能强大,但需谨慎使用,因其可能带来性能开销。原创 2025-05-17 16:04:44 · 579 阅读 · 0 评论 -
golang goroutine(协程)和 channel(管道) 案例解析
golang中goroutine和channel实际流程解析原创 2025-04-27 21:15:24 · 385 阅读 · 0 评论