golang专题下共有 12535 篇文章
-
- GolangCGO内存管理技巧解析
- CGO内存管理需注意跨语言内存分配与释放。1.Go分配,C使用:优先在Go侧分配内存并传递指针给C/C++,如用C.GoBytes将C内存复制到Goslice后释放C内存;2.C分配,Go使用后释放:使用defer确保释放C分配的内存,如deferC.free_string(cResult);3.使用runtime.SetFinalizer注册终结器,在对象被回收时自动释放C资源;4.慎用指针传递,明确所有权和生命周期;5.定期代码审查、使用Valgrind工具、编写单元测试、监控内存使用以防泄漏;6.性
- Golang· Go教程 | 2个月 | golang 内存管理 垃圾回收 CGO 跨语言调用 472浏览 收藏
-
- Golangdefer详解延迟调用技巧分享
- defer语句用于延迟函数执行,确保在函数退出时无论正常返回或发生panic都会执行。其核心作用是处理资源清理、错误处理等任务,保证程序状态一致性。defer将调用压入栈中,遵循后进先出(LIFO)顺序执行。1.多个defer按声明逆序执行;2.可访问并修改命名返回值;3.在panic时仍执行,结合recover实现异常恢复;4.常见场景包括资源关闭、错误日志记录、性能分析;5.需避免循环中使用defer、未命名返回值修改失败、闭包变量捕获陷阱;6.性能敏感场景应谨慎使用;7.支持多线程环境下的资源管理,
- Golang· Go教程 | 2个月 | golang defer 资源管理 延迟调用 panic/recover 202浏览 收藏
-
- Golang高效缓存实现技巧解析
- 在Golang中实现高效缓存策略的关键在于选择合适的缓存类型、设置合理的过期时间并保障并发安全。1.对于简单场景,可使用sync.Map实现内存缓存,但其缺乏自动过期机制;2.go-cache库支持过期时间和自动清理,适合需要基本管理功能的场景,但在高并发下存在锁瓶颈;3.bigcache通过分段锁和预分配内存优化性能,适用于高性能需求场景,但配置较复杂;4.Redis等外部系统提供丰富功能和持久化支持,适合大数据量及复杂需求,但增加系统复杂性和网络延迟开销。合理设置过期时间应基于数据变化频率与重要性,避
- Golang· Go教程 | 2个月 | golang 缓存策略 467浏览 收藏
-
- Golang浮点数精度问题怎么解决
- 浮点数精度丢失的根本原因是二进制存储限制导致十进制小数无法精确表示,进而引发截断和舍入误差。1.使用math/big包可进行高精度计算,适用于对精度要求极高的场景;2.使用decimal类型(如shopspring/decimal库)能有效避免货币等场景下的精度问题;3.在精度要求不高的情况下,可通过将浮点数转换为整数运算后再转回浮点数的方式减少误差;4.浮点数比较应避免直接使用==,而应判断差值是否小于一个极小阈值epsilon;5.处理舍入问题时可根据需求选择math.Round、math.Floor
- Golang· Go教程 | 2个月 | golang 浮点数精度 165浏览 收藏
-
- Golang多语言支持实用技巧分享
- Golang的国际化支持可通过golang.org/x/text包实现,涉及字符编码、日期格式、货币符号等处理。1.安装依赖包gogetgolang.org/x/text/...;2.定义本地化资源如JSON文件存储翻译内容;3.加载资源并根据用户语言环境切换,使用language.ParseAcceptLanguage解析HTTPAccept-Language头;4.使用message.Printer格式化输出文本,支持复数形式处理;5.可通过cookie或session持久化用户语言偏好。此外,该包还
- Golang· Go教程 | 2个月 | golang 国际化 424浏览 收藏
查看更多
课程推荐
-
- 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次学习