自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Go 语言实战:使用 sqlx 优雅地操作 MySQL

本文介绍了Go语言中使用sqlx操作MySQL的核心技巧。作为database/sql的超集,sqlx通过反射和db标签将查询结果直接映射到结构体(字段需首字母大写)。文章讲解了用NamedExec实现插入、Get查询单条、Select查询多条以及Exec执行更新删除。针对动态查询,重点演示了sqlx.In函数处理切片参数、展开占位符的用法,有效减少手写Scan的繁琐,大幅提升开发效率。

2026-09-24 21:02:51 162

原创 Go 语言实战:基于 database/sql 的 MySQL 增删改查、预处理与事务详解

本文详解Go语言中使用database/sql操作MySQL的实战技巧,涵盖连接池配置、CRUD操作、预处理防注入、事务管理等核心内容。通过go-sql-driver/mysql驱动,结合Exec、Query、QueryRow实现增删改查;利用预处理语句提升性能并防御SQL注入;通过Begin、Commit、Rollback实现原子性事务。强调defer rows.Close()防止连接泄漏,厘清db(连接池)、驱动、物理连接的关系,全面掌握高效安全的数据库操作实践。

2026-09-20 17:29:57 172

原创 Go操作MySQL核心详解:database/sql与MySQL驱动原理

本文深度解析 Go 原生操作 MySQL 的核心机制,重点拆解 database/sql 标准库的设计规范、MySQL 驱动的注册原理,解答开发中匿名导入驱动的底层逻辑与核心疑惑。同时完整讲解数据库连接环境配置、DSN 标准格式,结合连通性测试、单条数据查询、批量数据查询三大实战案例,汇总开发高频报错与避坑要点,梳理核心技术知识点,帮助开发者吃透 Go 原生 MySQL 调用流程与底层设计思想。

2026-09-13 17:14:32 253

原创 深入浅出 Gin 框架:从路由树到中间件源码解析

<think>我们被要求根据给定内容生成≤150字的文章摘要。需要提取核心要点。内容讲解Gin框架的路由树、中间件机制等。摘要应简洁。</think>Gin框架以基数树实现高效路由,支持静态、参数与通配匹配,优先级依次降低;priority优化查找,maxParams预分配参数切片。中间件通过c.Next()构成洋葱模型,按序执行。尾斜杠自动重定向提升容错。

2026-09-06 18:48:54 347

原创 Go 反射从入门到实践:一篇弄懂 reflect 包核心用法

本文深入讲解了Go语言反射(reflect包)的核心用法。主要内容包括:1. 类型与种类区分:介绍了reflect.Type和reflect.Value的区别,以及Kind()和Elem()的关键作用;2. 值操作:讲解如何通过Interface()获取值和用Set方法修改值(必须传指针);3. 结构体处理:包括字段访问、Tag解析和动态方法调用;4. 动态创建:演示如何用New和MakeMap创建变量;5. 使用建议:强调反射的性能损耗、私有字段修改风险,推荐使用reflect.TypeFor等最佳实践。

2026-08-01 17:10:44 216

原创 Go语法进阶:文件

本文介绍了Go语言os标准库对文件系统的基础操作,包括文件的打开(Open/OpenFile)、读取(ReadFile/循环读取)、写入(WriteString/Write)和刷新(Sync),以及文件的复制(io.Copy)、重命名(Rename)和删除(Remove/RemoveAll)。同时还讲解了文件夹的读取(ReadDir)、创建(Mkdir/MkdirAll)和递归复制(结合filepath.Walk实现)等操作,并提供了对应的代码示例。文章特别指出文件权限参数在Unix/Linux和Windo

2026-07-25 17:52:19 225

原创 Go 语法进阶:深度吃透 Go 错误处理体系(error /panic/fatal)

Go语言错误处理机制采用值返回式error作为主要方案,辅以panic和log.Fatal。error分为基础错误(errors.New)和自定义结构体错误,支持通过fmt.Errorf("%w")实现链式包装。错误处理使用errors.Is匹配原始错误、errors.As匹配自定义结构体类型。panic用于程序不可预期的崩溃,可通过recover捕获恢复;log.Fatal直接终止进程,适用于初始化阶段致命错误。三种机制各有适用场景:常规业务错误用error,内部异常用panic,启动

2026-07-18 10:33:36 335

原创 Go 新手入门:一文搞懂推送式、拉取式迭代器

本文深入浅出地讲解了Go语言中的两种迭代器模式。推送式迭代器由工具主动推送数据(如Go1.23的iter.Seq),代码简洁但无法中断;拉取式迭代器(如bufio.Scanner、sql.Rows)需主动调用Next()获取数据,支持中断且内存占用低。文章通过可运行的代码示例对比了两者的实现方式、错误处理、适用场景及性能差异,建议大数据处理使用拉取式,小数组遍历用推送式,并详细说明了标准库中的典型应用和链式调用写法,帮助开发者根据场景选择合适的迭代方案。

2026-06-21 18:02:57 207

原创 Go 语言类型进阶

本文系统讲解了Go语言的七大核心类型知识点:1.静态强类型特性(编译期检查+无隐式转换);2.类型后置语法(变量名在前类型在后);3.变量声明方式(var标准声明与短变量声明);4.类型别名机制(纯别名与独立新类型);5.显式类型转换规则(强制转换与strconv库使用);6.空接口类型断言(安全双返回值写法);7.type-switch多类型判断。这些特性构成了Go类型系统的完整体系,既能保证编译时类型安全,又通过灵活的类型机制支持工程化开发需求。

2026-06-14 17:56:53 335

原创 Go 泛型简明教程

摘要: Go 1.18引入泛型,弥补空接口(any)的类型安全和性能缺陷。泛型通过类型参数和约束(如any、comparable或自定义|/~组合)实现类型安全复用,适用于通用容器、数值计算等场景。核心用法包括泛型函数(如Max[T constraints.Ordered])和泛型结构体(如Stack[T])。与接口相比,泛型侧重编译期类型校验,而接口关注运行时行为抽象。需注意:泛型方法不可新增类型参数,避免过度使用。实战案例(如GetMapVal[K comparable, V any])结合compar

2026-06-07 17:12:58 379

原创 Go 接口从入门到通透:一篇搞定你所有疑惑

这篇文章深入浅出地讲解了Go语言接口的核心概念与常见问题。主要内容包括:1. 接口的本质是行为规范,只定义方法签名不关心实现;2. 接口隐式实现的特性,以及值/指针接收者的区别;3. 空接口interface{}的特殊性及类型断言注意事项;4. 新手常见的5个接口使用误区;5. 通过USB硬件接口的类比帮助理解Go接口设计思想。文章采用生活化比喻和代码示例相结合的方式,系统性地解答了Go接口学习过程中的典型困惑,特别适合刚接触Go接口的开发者阅读。

2026-05-30 19:04:49 336

原创 Go语言的语法基础2.0

本文总结了Go语言语法基础2.0的学习内容,包括条件控制(if/switch)、循环控制(for/range)、数组切片操作、字符串处理、映射表使用、指针特性、函数定义、结构体方法等核心语法。重点讲解了切片动态操作、字符串转换、映射表增删改查、函数多返回值、结构体组合等实用特性,并提供了典型代码示例。文章最后分享了学习心得,强调通过代码实践加深对Go语言严谨语法特性的理解。全文系统梳理了Go语言基础语法要点,适合作为快速复习参考。

2026-05-23 23:41:43 342

原创 深入理解 Go 字符串拼接原理

Go语言中字符串是不可修改的,直接修改会触发编译错误。字符串拼接通过+运算符会生成新字符串,但循环拼接时会产生内存浪费。strings.Builder通过缓冲区机制高效处理动态拼接,减少内存分配和拷贝。静态拼接用+运算符,动态拼接推荐使用strings.Builder以优化性能。

2026-05-16 20:53:11 216

原创 Go语言的语法基础

本文介绍了Go语言的基础语法和数据类型。主要内容包括:1)包管理机制,main包的特殊性及可见性规则;2)基础语法如标识符、运算符、字面量等;3)强制性的代码风格规范;4)数据类型分类及特点;5)常量声明和iota枚举用法;6)变量声明、赋值及作用域规则;7)输入输出操作方式。文章总结了Go语言简洁规范的特点,并分享了初学者常见的错误经验,如大小写权限控制、nil使用限制和缺少三元表达式等问题。通过系统梳理,帮助读者掌握Go语言的基础知识体系。

2026-05-10 18:24:30 563 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除