golang专题下共有 14271 篇文章
-
- Go语言加密解密报错?手把手教你正确使用加密算法
- Golang加密解密报错通常由密钥、IV或填充模式不匹配引起,解决方法包括:1.仔细阅读错误信息以定位问题;2.检查密钥和IV的长度是否符合算法要求并在加解密中保持一致;3.确保使用相同的填充模式如PKCS7;4.正确处理返回的错误信息;5.推荐使用AES-GCM等认证加密模式以增强安全性。此外,Golang支持多种加密算法,如AES、RSA、SHA-256等,生成安全随机数应使用crypto/rand包,而密码安全存储则需结合盐值进行哈希处理。
- Golang· Go教程 | 11个月 | golang 算法 错误处理 密钥 加密解密 414浏览 收藏
-
- Golang接口规约验证业务规则方法
- 规约模式在Golang中通过接口和结构体实现,首先定义包含IsSatisfiedBy方法的规约接口,接着创建具体规约如AgeSpecification验证用户年龄,然后通过AndSpecification、OrSpecification等组合规约实现复杂规则,最后在业务逻辑中使用这些规约进行验证。应用场景包括电商商品筛选、金融系统条件验证等需组合判断的场景。避免过度复杂化的方法有保持规约单一职责、避免过度组合、适当抽象及选用合适模式。单元测试可通过testing包编写测试用例验证不同情况下的返回值是否符合
- Golang· Go教程 | 10个月 | golang 接口 单元测试 规约模式 IsSatisfiedBy 414浏览 收藏
-
- Golang数据库错误处理,sql.ErrNoRows详解
- 在Golang中处理数据库错误时,应优先使用errors.Is判断特定错误类型。1.当查询应返回一行数据却无结果时,需检查err==sql.ErrNoRows或errors.Is(err,sql.ErrNoRows);2.推荐使用errors.Is因其可穿透errorwrapper;3.实际场景中可根据不同错误返回对应的HTTP状态码;4.避免通过err.Error()判断错误类型以防不稳定;5.批量查询时不触发sql.ErrNoRows应改用其他方式判断是否有数据。
- Golang· Go教程 | 10个月 | golang 错误处理 数据库错误 errors.Is sql.ErrNoRows 414浏览 收藏
-
- Golang多文件打包与读取教程
- Golang的archive/zip库通过手动处理目录结构实现压缩与解压缩功能。压缩时,addFileToZip函数判断是否为目录并设置相应属性,若为目录则添加斜杠并设置权限;非目录文件则使用zip.Deflate算法压缩,并将文件内容写入zip包中。解压缩时,decompressFile函数根据文件信息判断是否为目录,若是则先创建对应目录结构,再将文件内容写入磁盘。此外,该库不支持密码保护,需使用第三方库如github.com/alexmullins/zip实现;性能优化可通过流式处理、调整压缩级别、并
- Golang· Go教程 | 9个月 | golang 压缩 性能优化 解压缩 archive/zip 414浏览 收藏
-
- Golangerrors.Unwrap用法与错误嵌套解析
- 使用errors.Unwrap可逐层解包错误,提取最底层原始错误。通过循环调用Unwrap直到返回nil,可定位根本原因;但推荐优先使用errors.Is和errors.As进行类型判断与目标匹配,更安全简洁。
- Golang· Go教程 | 5个月 | golang 414浏览 收藏
查看更多
课程推荐
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习
-
- Go语言课程Gin框架实战
- Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
- 339次学习
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 205次学习
-
- Go编程基础视频教程
- Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言。我们收集了这套《Go编程基础视频教程》,希望能够帮助大家更好的学习go语言。
- 168次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 129次学习

