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

golang
golang专题下共有 1348 篇文章
  • Golang并发测试:goroutine与channel实战技巧
    Golang并发测试:goroutine与channel实战技巧
    测试Golang并发代码需通过模拟场景、检测竞态、处理死锁、验证复杂模式来确保可靠性。1.使用sync.WaitGroup控制goroutine执行顺序,确保所有任务完成后再继续;2.利用channel进行同步通信,验证数据传递正确性;3.添加-race标志启用内置竞态检测器,发现并发访问问题;4.采用atomic包实现原子操作,防止共享变量修改冲突;5.使用select语句配合超时机制,避免channel阻塞导致死锁;6.针对生产者-消费者模型,分别模拟生产与消费行为,验证交互逻辑正确性。
    Golang· Go教程   |  1个月  |   golang Goroutine channel 竞态条件 并发测试 483浏览 收藏
  • Golang单例实现:sync.Once线程安全解析
    Golang单例实现:sync.Once线程安全解析
    sync.Once通过确保初始化函数只执行一次来实现线程安全的单例。1.使用包级变量保存单例实例;2.通过GetInstance方法调用once.Do进行初始化;3.初始化逻辑仅在首次调用时执行,后续调用直接返回已有实例。应用场景包括配置管理、日志记录器、数据库连接池和缓存服务。注意事项:Do方法仅接受无参函数,避免长时间阻塞,不可复用Once对象,多个初始化步骤需合并到一个函数中。
    Golang· Go教程   |  1星期  |   golang 初始化 线程安全 单例模式 sync.Once 483浏览 收藏
  • Golang日志分析入门:strings与bufio用法详解
    Golang日志分析入门:strings与bufio用法详解
    Golang适合开发日志分析工具,主要因其并发处理能力强、性能优异且标准库支持完善。strings包可用于日志行过滤,如使用strings.Contains()判断关键词匹配、strings.Split()拆分字段;bufio包适合高效读取大日志文件,通过缓冲IO逐行处理,节省内存并支持多种输入源;结合两者可快速实现简易日志过滤工具,满足基础文本流处理需求。
    Golang· Go教程   |  2个月  |   golang 日志分析 strings bufio 并发处理 482浏览 收藏
  • Golangchannel实现发布订阅模式详解
    Golangchannel实现发布订阅模式详解
    使用channel实现发布订阅模式的核心在于维护订阅者列表并解耦发布者与订阅者。1.通过map存储主题与订阅者channel的对应关系,实现订阅和取消订阅操作;2.发布消息时遍历订阅者列表,并用goroutine发送以防止阻塞;3.防止channel阻塞可采用带缓冲的channel、加锁控制或丢弃策略;4.缓冲大小应根据发布与订阅速度差异选择,通常从保守值开始调整;5.处理订阅者掉线可通过超时机制检测并移除无效channel,结合心跳检测提升可靠性;6.若需保证顺序性,可通过单channel串行分发或为消
    Golang· Go教程   |  1个月  |   golang channel 并发 阻塞 发布订阅模式 482浏览 收藏
  • Golang实现gRPC服务与性能对比详解
    Golang实现gRPC服务与性能对比详解
    要使用Golang开发gRPCWeb服务,需定义gRPC服务并生成Go和JavaScript代码;接着配置gRPC-Web代理(如grpc-web或Envoy)将HTTP/1.1请求转换为gRPC请求;最后通过HTTP服务器代理gRPC-Web请求。具体步骤如下:1.使用protoc编译protobuf文件生成服务端和客户端代码;2.安装protoc-gen-grpc-web插件并配置protobuf文件;3.创建HTTP反向代理服务器处理请求;4.处理流式传输时,gRPC-Web支持服务端和客户端流式模
    Golang· Go教程   |  1个月  |   golang 性能 grpc 代理 gRPCWeb 482浏览 收藏
  • Golang优化CPU任务:汇编与SIMD实战教程
    Golang优化CPU任务:汇编与SIMD实战教程
    优化GolangCPU密集型任务的关键在于1.使用pprof定位瓶颈;2.优化算法;3.并发处理;4.优化数据结构;5.嵌入汇编;6.利用SIMD指令。首先通过pprof工具分析性能,识别高CPU占用函数;接着检查算法复杂度并优化;采用goroutine和channel实现并发计算,控制协程数量;选择高效数据结构并复用对象;对关键代码嵌入汇编提升执行效率,需注意ABI兼容、寄存器使用、栈管理及平台差异;最后借助SIMD指令集提升并行计算能力,适用于图像处理、音视频编解码、科学计算、机器学习和密码学场景,并
    Golang· Go教程   |  2个月  |   golang pprof CPU密集型 汇编 SIMD 481浏览 收藏
查看更多
课程推荐
  • 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通道如何传递数据,反射等等。
    129次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码