golang专题下共有 12554 篇文章
-
- GolangHTTP超时设置方法详解
- 在Golang中设置HTTP请求超时需根据业务场景平衡响应速度与稳定性。1.了解服务调用链,分析下游服务响应时间,参考95%或99%请求耗时并加buffer;2.查询接口设较短超时,数据处理密集型接口适当延长;3.http.Client.Timeout适用于全局统一策略,Context用于单个请求精细控制,通常结合使用,以Client设默认值,Context覆盖特定请求;4.其他影响性能因素包括连接池大小、DNS解析速度、网络延迟及服务器处理能力,需优化连接池配置、使用DNS缓存、改善网络拓扑结构和提升服
- Golang· Go教程 | 2个月 | golang HTTP超时 149浏览 收藏
-
- GolangAPI认证设计与安全方案
- 要设计安全的GolangAPI认证机制,核心在于选择合适的认证方式并结合Golang特性实现。首先,选择认证方式时,BasicAuth简单但不安全,APIKeys适合内部使用,OAuth2.0适合第三方集成,JWT适合微服务且易于扩展;其次,使用github.com/golang-jwt/jwt/v5库生成和验证JWT,包含用户ID、权限信息,并通过私钥签名、公钥验证保障安全性;第三,密钥应通过环境变量或Vault等安全方式存储,避免硬编码;第四,实现Token刷新机制,防止频繁登录;第五,在JWT中加入
- Golang· Go教程 | 2个月 | golang API认证 331浏览 收藏
-
- Golang大文件读取OOM问题及流式处理方法
- 解决Golang大文件读取OOM问题的核心方法是使用流式处理以避免一次性加载整个文件到内存。1.使用bufio.Scanner进行按行或自定义分隔符的文本流式读取;2.利用io.Reader配合bufio.Reader进行缓冲分块读取,适用于二进制文件或更细粒度控制;3.处理压缩文件时结合compress/gzip等包进行解压流式读取;4.根据文件格式选择合适的解析库如encoding/csv、encoding/json或encoding/binary进行结构化解析;5.合理设置缓冲区大小以平衡性能与内存
- Golang· Go教程 | 2个月 | golang 流式处理 大文件读取 bufio.Scanner OOM 339浏览 收藏
-
- Golang卡死怎么查?死锁问题详解
- Golang程序卡死的常见原因包括死锁、资源耗尽、无限循环、阻塞操作等。排查方法主要有:1.使用pprof工具分析CPU、内存、goroutine状态;2.通过GODEBUG=scheddetail=1获取调度信息;3.添加日志辅助定位问题;4.审查涉及锁、channel、goroutine的代码,识别潜在死锁或泄漏;5.利用context控制goroutine生命周期,避免泄漏。避免死锁的方法包括不嵌套锁、设置超时、使用select语句、统一锁获取顺序。此外,还需监控系统资源和性能指标,结合Promet
- Golang· Go教程 | 2个月 | golang Goroutine 死锁 卡死 pprof 313浏览 收藏
-
- Golang自定义错误类型与上下文传递技巧
- 自定义错误类型通过结构体实现error接口并携带上下文信息。在Golang中,定义自定义错误类型需创建结构体并实现Error()方法,如MyError包含Code、Message、Time和Context字段;传递上下文信息可通过结构体字段(如Contextmap[string]interface{})存储函数名、输入参数等;处理自定义错误类型包括检查错误是否为nil、使用类型断言提取具体信息;错误链通过%w包装错误并用errors.Unwrap或errors.Is解析;当需区分错误种类或传递额外信息时应
- Golang· Go教程 | 2个月 | golang 自定义错误类型 错误链 上下文信息 error接口 321浏览 收藏
查看更多
课程推荐
-
- 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通道如何传递数据,反射等等。
- 129次学习