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

golang
golang专题下共有 1027 篇文章
  • Go语言优化攻略:手把手教你调优内存分配与垃圾回收
    Go语言优化攻略:手把手教你调优内存分配与垃圾回收
    要提升Golang内存分配与回收效率,需减少不必要的分配并优化GC运行。1.使用sync.Pool复用临时对象,适用于分配代价高且生命周期短的对象,但不应用于管理长生命周期资源;2.预分配切片容量以避免频繁扩容,如make([]int,0,1000),需根据场景权衡容量与内存占用;3.利用逃逸分析减少堆分配,通过-gcflags=-m查看结果,尽量使用局部变量、避免返回局部变量指针、优先值传递等方式降低GC压力。这些方法共同作用,可显著提高程序性能与内存利用效率。
    Golang· Go教程   |  1个月  |   golang 内存分配 垃圾回收 逃逸分析 sync.Pool 500浏览 收藏
  • GolangHTTP客户端为何快?net/http底层揭秘
    GolangHTTP客户端为何快?net/http底层揭秘
    Golang的HTTP客户端性能出色主要归因于四个关键优化点。1.连接复用机制(HTTPKeep-Alive)通过http.Client自动管理连接池,默认保持2个空闲连接,复用时间90秒,有效减少频繁创建销毁连接的开销;2.Transport层提供精细控制,支持自定义最大连接数、空闲连接数、TLS设置等,提升不同场景下的性能适应性;3.基于协程与非阻塞I/O模型,每个请求独立运行在goroutine中,结合epoll/kqueue/io_uring实现高效并发处理能力;4.内存分配优化通过sync.Po
    Golang· Go教程   |  1个月  |   golang 性能优化 HTTP客户端 net/http 连接复用 500浏览 收藏
  • Golang类型别名与定义区别详解
    Golang类型别名与定义区别详解
    type在Go中有类型定义和类型别名两种核心用途,区别如下:1.类型定义创建全新类型,不能与原类型直接赋值,用于封装、提高可读性和类型安全;2.类型别名仅是已有类型的别名,可互换使用,用于简化表达或重构过渡;此外type还可定义结构体、接口及组合类型命名。
    Golang· Go教程   |  2星期  |   golang 区别 类型别名 类型定义 type关键字 500浏览 收藏
  • gRPC为何成Golang微服务首选?
    gRPC为何成Golang微服务首选?
    gRPC成为Golang微服务首选协议,因其高性能、强类型约束及与Golang的天然契合。1.性能优势:基于HTTP/2支持多路复用和头部压缩,结合ProtocolBuffers二进制序列化,降低带宽占用并提升响应速度;2.强类型约束:通过.proto文件定义接口,确保数据类型一致,减少运行时错误;3.代码生成:自动创建客户端和服务端代码,简化开发流程;4.流式传输:支持双向数据流,适用于实时通信场景;5.生态系统:社区活跃,工具丰富,便于构建管理微服务;6.与Golang契合:并发模型与gRPC高性能特
    Golang· Go教程   |  1个月  |   golang grpc 499浏览 收藏
  • Golang反射实现插件架构教程
    Golang反射实现插件架构教程
    Golang可以通过plugin和reflect实现插件化架构,具体步骤如下:1.使用-buildmode=plugin编译生成.so插件文件;2.通过plugin.Open加载插件并用Lookup获取符号;3.利用反射获取结构体方法并调用执行;4.注意导出符号、结构一致、平台适配和安全性问题。通过这一流程即可实现类似其他语言的动态加载与扩展能力。
    Golang· Go教程   |  2星期  |   golang 动态加载 reflect包 plugin包 插件化架构 499浏览 收藏
  • Golang管道过滤器模式实现channel链式处理
    Golang管道过滤器模式实现channel链式处理
    Golang中的管道过滤器模式通过将数据处理任务分解为多个步骤,每个步骤由独立的过滤器实现,并通过channel连接形成数据流水线。1.每个过滤器函数接收输入channel并输出结果到另一个channel;2.创建channel链连接各过滤器;3.启动goroutine并发执行过滤器;4.输入数据到第一个channel;5.处理完成后关闭最后一个channel。该模式适用于日志分析、数据清洗等场景,具有模块化和可扩展性强的优点,但也需注意管理channel生命周期以避免死锁和goroutine泄露。错误处
    Golang· Go教程   |  3星期  |   golang Goroutine channel 数据流 管道过滤器模式 498浏览 收藏
查看更多
课程推荐
  • 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次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码