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

golang
golang专题下共有 14130 篇文章
  • Golang锁竞争优化,atomic与sync.Pool实战技巧
    Golang锁竞争优化,atomic与sync.Pool实战技巧
    减少Golang锁竞争的核心是避免不必要的锁操作。1.使用atomic包进行原子操作,如atomic.AddInt64,适用于计数器等简单场景,避免Mutex的系统调用开销;2.利用sync.Pool复用对象,减少内存分配与GC压力,间接降低锁竞争;3.缩小锁粒度,仅保护必要临界区;4.读多写少场景使用sync.RWMutex,允许多个读并发执行;5.通过channel替代共享内存通信,避免锁的使用。不同场景应选择合适机制:atomic适合简单操作,RWMutex适合读多写少,channel适合gorou
    Golang· Go教程   |  6个月  |   golang 优化 锁竞争 sync.Pool atomic 157浏览 收藏
  • Golangdefer简化错误处理方法
    Golangdefer简化错误处理方法
    defer在Golang中用于延迟执行函数,常用于资源清理和错误处理。1.使用defer可确保函数返回前执行如关闭文件等操作,避免资源泄露;2.结合命名返回值,可在defer中捕获panic并设置错误信息;3.多个defer需按顺序处理错误,防止覆盖;4.defer性能影响较小,现代编译器已优化;5.最佳实践包括避免修改返回值、注意执行顺序、不过度使用。
    Golang· Go教程   |  6个月  |   golang 错误处理 defer 命名返回值 资源清理 157浏览 收藏
  • Golang集成NATSStreaming消息队列教程
    Golang集成NATSStreaming消息队列教程
    NATSStreaming通过消息持久化和可靠传递保障Golang应用消息不丢失,核心步骤包括:1.用Docker部署NATSStreaming服务器;2.安装stan.go客户端库;3.使用stan.Connect()建立连接并指定唯一客户端ID;4.通过Publish()发布消息,支持同步与异步模式;5.使用Subscribe()实现广播、QueueSubscribe()实现负载均衡消费;6.通过持久化ID实现断线重连后消息续传。尽管NATSStreaming仍用于部分存量系统,新项目建议优先评估Je
    Golang· Go教程   |  5个月  |   golang 消息队列 消息持久化 NATSStreaming 客户端ID 157浏览 收藏
  • Golang错误处理与服务稳定性技巧
    Golang错误处理与服务稳定性技巧
    Go语言通过defer、panic和recover实现错误恢复机制:panic触发运行时恐慌,中断当前流程;defer延迟执行函数,确保recover有机会捕获panic;recover仅在defer中有效,用于捕获panic值并恢复执行,防止程序崩溃。该机制常用于Web服务或goroutine中保护关键逻辑,避免单个错误导致整个服务失效。注意recover无法跨goroutine捕获,且应避免滥用panic,常规错误应通过error返回。
    Golang· Go教程   |  4个月  |   golang defer recover panic 错误恢复 157浏览 收藏
  • GolangWeb中间件实战技巧分享
    GolangWeb中间件实战技巧分享
    Go语言Web中间件通过包装http.Handler实现通用逻辑,如日志、认证、限流等。1.基本结构为接收并返回http.Handler的函数;2.可通过链式调用组合多个中间件,注意执行顺序为后进先出;3.使用context传递请求数据,建议自定义key类型避免冲突;4.recover中间件可捕获panic防止服务崩溃;5.中间件应职责单一,避免复杂业务逻辑,提升代码可维护性。
    Golang· Go教程   |  4个月  |   golang 中间件 context 链式调用 http.Handler 157浏览 收藏
  • Golang搭建简单HTTP服务器教程
    Golang搭建简单HTTP服务器教程
    Go语言通过net/http标准库可快速构建HTTP服务器,首先实现根路径响应,再扩展多路由与静态文件服务,接着用结构体封装提升可维护性,最后通过函数包装添加日志中间件,整个过程简洁高效,适合开发轻量级Web服务或API。
    Golang· Go教程   |  3个月  |   golang 中间件 HTTP服务器 net/http 路由处理 157浏览 收藏
查看更多
课程推荐
  • Golang深入理解GPM模型
    Golang深入理解GPM模型
    Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
    474次学习
  • Go语言课程Gin框架实战
    Go语言课程Gin框架实战
    Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
    339次学习
  • Golang云原生架构师课程
    Golang云原生架构师课程
    Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
    205次学习
  • Go编程基础视频教程
    Go编程基础视频教程
    Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言。我们收集了这套《Go编程基础视频教程》,希望能够帮助大家更好的学习go语言。
    168次学习
  • Golang进阶实战编程
    Golang进阶实战编程
    本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
    129次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码