当前位置:首页 > 文章列表 >golang

golang
golang专题下共有 1122 篇文章
  • Golang单例实现:sync.Once与atomic原理解析
    Golang单例实现:sync.Once与atomic原理解析
    实现并发安全的单例模式的关键在于确保多线程环境下仅创建一个实例且过程线程安全,Golang中常用sync.Once或atomic包实现。1.sync.Once通过once.Do保证初始化函数仅执行一次,适合大多数场景;2.使用atomic包结合双重检查锁定可实现类似效果,但更复杂且易出错,不推荐常规使用。sync.Once底层依赖原子操作与互斥锁结合,确保唯一goroutine执行初始化。对于耗时初始化,可通过懒加载、异步初始化、分阶段初始化、缓存或预热优化,以减少阻塞和提升性能。
    Golang· Go教程   |  1星期  |   golang 并发安全 单例模式 sync.Once atomic 348浏览 收藏
  • 用Golang开发云原生批处理,ArgoWorkflows插件实战分享
    用Golang开发云原生批处理,ArgoWorkflows插件实战分享
    Golang批处理框架与ArgoWorkflows集成的优势在于利用Go的高效并发、Kubernetes的云原生能力及Argo的声明式工作流管理。1.Go的goroutine和channel机制实现任务调度与执行的高并发;2.通过Kubernetes实现容器化部署与自动伸缩;3.ArgoWorkflows提供可视化工作流定义与插件扩展机制;4.结合元数据存储、API接口与监控日志系统,构建完整高效的批处理平台。
    Golang· Go教程   |  1星期  |   golang 云原生 批处理 Kubernetes ArgoWorkflows 484浏览 收藏
  • Golang指针逃逸优化技巧详解
    Golang指针逃逸优化技巧详解
    在Go语言中,减少指针逃逸的核心方法包括:①明确变量作用域,将变量定义在函数内部;②优先使用值传递而非指针传递(尤其小型结构体);③利用sync.Pool重用频繁创建的对象;④避免闭包捕获指针变量;⑤不将局部变量赋值给全局变量;⑥使用strings.Builder优化字符串拼接;⑦预分配切片容量以减少扩容;⑧通过gobuild-gcflags'-m'分析逃逸情况。这些做法可有效降低堆内存分配频率,减轻GC压力,从而提升程序性能。
    Golang· Go教程   |  1星期  |   golang 性能优化 GC压力 栈分配 指针逃逸 247浏览 收藏
  • Golang并发缓存过期与LRU清理方法
    Golang并发缓存过期与LRU清理方法
    要实现Go中并发安全且支持定时清理和LRU淘汰的缓存,可组合使用标准库并设计结构。1.使用sync.RWMutex+map保障并发安全;2.每个条目记录过期时间,后台goroutine定期删除过期项;3.用container/list实现LRU,通过链表+哈希映射维护访问顺序;4.插入时更新顺序并判断容量,结合定时清理实现双重机制共存。
    Golang· Go教程   |  1星期  |   golang 并发缓存 缓存过期 LRU淘汰 102浏览 收藏
  • GolangTCP聊天程序开发详解
    GolangTCP聊天程序开发详解
    使用Golang开发基于TCP的简单聊天程序的关键步骤包括:1.搭建TCP服务器并处理客户端连接,通过net.Listen监听端口,Accept接收连接并启用goroutine处理;2.实现消息收发逻辑,使用conn.Write发送数据,bufio读取换行结尾的消息,注意处理断开连接和错误;3.实现广播机制,服务器维护连接列表,收到消息后遍历列表发送给其他用户,注意并发安全和连接清理。按照这些步骤可快速实现基础功能,后续再完善细节。
    Golang· Go教程   |  1星期  |   golang TCP 广播机制 net包 聊天程序 276浏览 收藏
  • Golangbytes库为何高效?切片优化全解析
    Golangbytes库为何高效?切片优化全解析
    bytes库在处理字符串时更高效的原因在于其操作的是可变的字节切片,避免了频繁的内存分配和拷贝。1.strings库的字符串不可变,每次修改都会创建新副本,带来性能开销;2.bytes.Buffer通过原地修改字节切片实现高效追加与替换;3.bytes库直接操作底层数据,支持零拷贝和二进制处理,适用于频繁修改、二进制数据处理等场景。
    Golang· Go教程   |  1星期  |   golang 内存分配 切片 strings库 bytes库 235浏览 收藏
查看更多
课程推荐
  • Golang深入理解GPM模型
    Golang深入理解GPM模型
    Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
    474次学习
  • Go语言课程Gin框架实战
    Go语言课程Gin框架实战
    Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
    338次学习
  • Golang云原生架构师课程
    Golang云原生架构师课程
    Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
    204次学习
  • Go编程基础视频教程
    Go编程基础视频教程
    Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言。我们收集了这套《Go编程基础视频教程》,希望能够帮助大家更好的学习go语言。
    167次学习
  • Golang进阶实战编程
    Golang进阶实战编程
    本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
    128次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码