golang专题下共有 11745 篇文章
-
- Golang状态模式实例:接口实现状态转换
- 状态模式是一种将对象的状态封装成独立结构体的设计模式,通过统一接口实现行为切换。它让主对象持有状态接口,自动调用当前状态对应的方法,避免大量条件判断。在Golang中,首先定义State接口及Context上下文结构体,再为每个状态实现接口方法。例如订单系统中,“新建”状态处理后切换到“已支付”状态。状态切换通常在具体状态的Handle方法中完成,通过SetState更新上下文状态。关键点包括:1.每个状态决定下一步状态;2.避免循环引用;3.状态切换逻辑集中管理。实际应用时需注意状态爆炸、持久化映射和并
- Golang· Go教程 | 4天 | golang 接口 状态机 代码维护 状态模式 320浏览 收藏
-
- Golang包可见性规则:大小写命名解析
- Golang的包可见性通过标识符的大小写控制访问权限,以大写开头的为公开标识符可被外部包访问,小写开头的为私有标识符仅限包内使用。1.公开标识符构成包的公共API,确保外部代码仅依赖稳定接口;2.私有标识符隐藏内部实现细节,降低复杂性和副作用风险;3.大小写机制体现Golang设计哲学:简单、可读、实用,避免复杂关键字或非强制约定;4.实际应用需权衡可见性级别,合理暴露API以提高可维护性并减少耦合度;5.Golang无其他内置可见性控制方式,依赖包结构和接口设计实现更灵活控制。该机制通过强制执行命名规范
- Golang· Go教程 | 4天 | golang API 封装 包可见性 大小写命名 466浏览 收藏
-
- Golang错误处理,pkg/errors.Wrap使用详解
- Wrap方法是pkg/errors包中用于包装错误并附加上下文信息的函数,其定义为Wrap(errerror,messagestring)error。它能在保留原始错误的同时添加描述,便于追踪错误来源。使用时应在每层调用中用Wrap封装下层错误并附上当前层的上下文,从而构建完整的错误链。查看完整错误信息可用%+v格式化输出或通过errors.Cause()获取根源错误。使用Wrap时应避免重复包装、确保传入非nil错误、正确记录日志,并注意兼容标准error接口。
- Golang· Go教程 | 4天 | golang 错误处理 wrap 错误链 pkg/errors 179浏览 收藏
-
- GolangHTTP分块上传优化技巧
- 1.优化HTTP文件分块上传的核心在于利用MIME边界和并行传输,2.通过生成唯一边界、构建符合MIME规范的请求体确保数据结构正确,3.使用goroutine实现并发上传并控制最大并发数以提升效率,4.服务端需支持分块解析与合并,并配合实现断点续传功能,5.合理选择分块大小(如1MB-5MB)平衡网络开销与稳定性,6.上传错误时采用重试机制及本地记录已上传分块以实现容错和恢复。
- Golang· Go教程 | 4天 | golang 断点续传 MIME边界 并行传输 HTTP文件分块上传 373浏览 收藏
-
- GolangAPI错误处理与可重试客户端方案
- 调用第三方API时构建具备重试机制的HTTP客户端可提升稳定性。1.控制重试次数,一般设为2~3次;2.设置合理间隔时间,建议使用指数退避策略;3.区分可重试与不可重试错误,如网络超时、连接失败和5xx错误可重试,4xx和TLS握手失败通常不重试;4.使用自定义RoundTripper实现重试逻辑,在每次请求失败后判断错误类型并决定是否重试;5.结合context.Context控制超时,记录日志以便排查问题;6.封装成通用组件便于复用,提供默认配置同时支持自定义参数。通过这些策略,能有效增强程序的健壮性
- Golang· Go教程 | 4天 | golang 错误处理 HTTP客户端 重试机制 API调用 161浏览 收藏
-
- Golang生成二维码,go-qrcode使用教程
- 使用go-qrcode生成二维码需先安装库,再调用方法生成PNG文件或返回HTTP流。1.安装命令为gogetgithub.com/skip2/go-qrcode;2.生成文件示例代码为qrcode.WriteFile("https://example.com",qrcode.Medium,256,"qrcode.png");3.容错等级包括L、M、Q、H,推荐使用Medium;4.图像尺寸建议200像素以上以确保可识别性;5.可结合其他图像库自定义样式如加颜色或L
- Golang· Go教程 | 4天 | golang 图像处理 二维码生成 go-qrcode HTTP接口 185浏览 收藏
查看更多
课程推荐
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习
-
- Go语言课程Gin框架实战
- Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
- 338次学习
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- Go编程基础视频教程
- Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言。我们收集了这套《Go编程基础视频教程》,希望能够帮助大家更好的学习go语言。
- 167次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 128次学习