golang专题下共有 11861 篇文章
-
- Golang反射指针嵌套,Elem()级联使用技巧
- 处理Go语言中反射的指针嵌套类型,核心在于循环调用Elem()直到获取到非指针的reflect.Value。1.首先,使用reflect.ValueOf()获取指针类型的reflect.Value对象;2.然后,在循环中每次调用Elem()解引用指针前,必须通过IsNil()检查是否为nil以避免panic,并通过IsValid()确保值有效;3.当Kind()不再是reflect.Ptr时,即获得最终的非指针值,此时可进行读取或修改操作;4.若需设置值,应确保CanSet()返回true,否则无法修改;
- Golang· Go教程 | 1星期 | golang 反射 reflect.Value 指针嵌套 Elem() 443浏览 收藏
-
- Golang单例实现:sync.Once与atomic对比
- 在Golang中实现并发安全的单例模式,sync.Once适合初始化短耗时和低并发场景,atomic适合高并发且需极致性能的场景。1.sync.Once方案简单易用,通过互斥锁保证初始化仅执行一次,但存在锁竞争和首次获取阻塞的问题;2.atomic方案利用CAS操作避免锁,理论上性能更优,但实现复杂且初始化耗时无法并行;3.选择方案应基于实际场景:初始化短且并发低时优先使用sync.Once,初始化长且并发高时考虑atomic,但需充分测试验证性能提升和安全性。
- Golang· Go教程 | 1星期 | golang 对比 sync.Once 并发单例 atomic 153浏览 收藏
-
- Golang高并发文件写入优化技巧
- 使用os.OpenFile配合sync.Mutex可实现并发安全的文件写入,具体操作如下:1.打开文件时使用os.O_CREATE|os.O_APPEND|os.O_WRONLY标志确保正确写入模式;2.使用sync.Mutex在写入时加锁以避免goroutine间冲突;3.结合bufio.Writer缓冲写入或批量合并减少I/O次数以提升性能;4.注意定期flush缓存及调用file.Sync()强制刷盘以防止数据丢失;5.始终使用deferfile.Close()关闭文件并妥善处理错误和重试机制。
- Golang· Go教程 | 1星期 | golang 高性能 sync.Mutex 文件并发写入 os.OpenFile 329浏览 收藏
-
- Golang自动部署指南:用ArgoCD实现GitOps流程
- 为Golang应用配置自动化部署并借助ArgoCD实现GitOps工作流,核心在于将应用与基础设施的声明性配置存储于Git仓库中,由ArgoCD持续监控并同步集群状态至Git定义的状态。1.首先容器化Golang应用,编写Dockerfile构建镜像并推送至镜像仓库;2.创建Kubernetes清单(Deployment、Service等),推荐使用Kustomize或Helm进行参数化管理;3.将K8s配置文件提交至Git仓库作为配置源;4.安装ArgoCD并在其中创建Application资源指向该G
- Golang· Go教程 | 1星期 | golang Kubernetes 自动化部署 GitOps ArgoCD 257浏览 收藏
查看更多
课程推荐
-
- 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次学习