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

golang
golang专题下共有 14028 篇文章
  • Golang微服务OpenTelemetry链路追踪教程
    Golang微服务OpenTelemetry链路追踪教程
    OpenTelemetry(OTel)是微服务链路追踪的主流解决方案,它提供了一套标准的可观测性工具,用于采集分布式系统中的Trace、Metric和Log。其核心概念Span代表一次操作的执行时间段,通过SDK可便捷集成到Go语言编写的微服务中。接入步骤包括安装依赖包、初始化TracerProvider并设置采样策略、配置Exporter导出Span数据、以及在服务中注入中间件或手动添加Span。以chi路由库为例,通过引入otelhttp中间件可以自动为每个HTTP请求创建Span,并通过gRPC协议
    Golang· Go教程   |  6个月  |   golang 微服务 链路追踪 span OpenTelemetry 285浏览 收藏
  • Golang指针优化数组处理技巧
    Golang指针优化数组处理技巧
    如何通过指针避免大型数组的复制?1.传递数组时使用指针,直接传递数组地址而非复制整个数组;2.函数接收指向数组的指针,对数组元素进行直接修改,避免副本产生。使用指针操作数组能显著减少内存开销并提升性能,而值传递会导致复制整个数组,造成内存和性能损耗。此外,在并发访问中需注意数据竞争问题,并可通过互斥锁保护数组。除了指针外,还可使用切片引用数组片段以避免复制,或结合并发编程将数组分块处理以提高效率。具体方法应根据应用场景选择。
    Golang· Go教程   |  6个月  |   golang 指针 性能优化 大型数组 内存复制 285浏览 收藏
  • Golang对象池优化,sync.Pool详解
    Golang对象池优化,sync.Pool详解
    对象池模式在Golang中通过复用对象减少GC压力并提高性能,其核心实现是sync.Pool。1.定义池时需创建sync.Pool实例并提供New函数用于初始化对象;2.使用Get方法获取对象,若池为空则调用New创建;3.使用完后通过Put方法归还对象以便复用。适用场景包括高并发、短生命周期、创建成本高的无状态对象,如缓冲区或连接资源。限制包括不保证对象存活、不保持顺序及不适合有状态对象。优化要点包括根据实际场景调整池大小、避免内存泄漏、在Put前重置对象状态以防止数据残留和循环引用。
    Golang· Go教程   |  5个月  |   golang 对象池 sync.Pool GC压力 资源复用 285浏览 收藏
  • Golang自动化脚本编写教程
    Golang自动化脚本编写教程
    GolangDevOps自动化脚本通过高效并发与标准库支持实现基础设施管理、CI/CD、监控等自动化。1.使用Go结合云SDK(如AWSSDK)实现IaC,动态创建资源;2.集成Ansible等工具或编写脚本完成配置管理;3.构建CI/CD流水线,自动化测试与部署;4.利用Prometheus客户端暴露监控指标,实现服务可观测性;5.借助cron等调度器执行定期维护任务。选型时优先考虑官方SDK与成熟第三方库,注重文档与社区支持。错误处理需显式检查、添加上下文、类型判断、defer资源释放,并实现重试机制
    Golang· Go教程   |  4个月  |   golang DevOps 285浏览 收藏
  • Golang日志记录教程:log包使用详解
    Golang日志记录教程:log包使用详解
    答案:Go标准库log包提供基础日志功能,通过log.Print输出信息,SetPrefix设置前缀,SetFlags配置时间、文件等格式,SetOutput重定向到文件,默认输出到stderr,支持Fatal和Panic级别,适用于简单场景。
    Golang· Go教程   |  3个月  |   golang 日志记录 log包 SetFlags SetOutput 285浏览 收藏
  • Golang反射判断函数返回值数方法
    Golang反射判断函数返回值数方法
    要判断Golang函数的返回值数量,需使用reflect.TypeOf(func).NumOut()。通过reflect包获取函数类型信息,NumOut()返回其输出参数个数,适用于RPC框架、测试工具等需动态解析函数签名的场景。示例中展示了无返回值、单返回值、多返回值函数的处理方式。reflect.Type用于获取类型元数据,如参数和返回值数量及类型,而reflect.Value代表具体值,可调用函数但不直接提供NumOut()方法,需通过Value.Type()转换为Type后才能调用。结合NumOu
    Golang· Go教程   |  1个月  |   golang reflect 285浏览 收藏
查看更多
课程推荐
  • 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次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码