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

golang
golang专题下共有 14170 篇文章
  • Golang模拟时间:fakeclock测试技巧
    Golang模拟时间:fakeclock测试技巧
    Go语言中测试时间相关逻辑的核心方法是使用fakeclock解耦对真实时间的依赖。1.创建fakeclock结构体,包含当前时间、互斥锁、自动推进模式和步长,并实现Now、Set、Advance等方法;2.定义Clock接口并让fakeclock和realclock实现该接口,以替换time.Now()调用;3.在测试中注入fakeclock实例,控制时间推进以验证时间相关函数的行为;4.处理time.Sleep()、time.After()和time.Ticker(),通过模拟等待、维护定时器队列或启动
    Golang· Go教程   |  8个月  |   golang 测试 时间函数 fakeclock 时间逻辑 229浏览 收藏
  • Golang文件读写优化:bufio与mmap对比
    Golang文件读写优化:bufio与mmap对比
    处理大文件或高频读写任务时,Golang中应根据场景选择bufio或mmap。1.bufio适合逐行处理,通过缓冲减少系统调用,适用于数据量适中、频繁小块写入的场景,优化方式包括设置合适缓冲区大小及减少Flush()调用;2.mmap适合超大文件的随机访问,实现零拷贝,但需注意内存占用和平台差异,适用于数据库快照、索引等高效读取需求;3.选择策略上,文本分析优先用bufio,需快速定位的大文件则选mmap,同时注意mmap可能因换页影响性能。两者各有优劣,关键在于合理匹配业务逻辑。
    Golang· Go教程   |  8个月  |   golang 性能优化 bufio 文件读写 mmap 349浏览 收藏
  • GolangHTTP中间件错误处理详解
    GolangHTTP中间件错误处理详解
    在Golang中统一处理HTTP请求错误应使用中间件,因为它能减少重复代码并提升业务逻辑清晰度。1.中间件通过封装http.HandlerFunc捕获错误或panic,集中处理日志、响应格式和状态码;2.可自定义HTTPError类型区分错误种类,并返回对应状态码;3.错误可通过直接调用http.Error()传递,或结合框架如chi、gin的内置机制;4.合理记录错误日志需包含路径、方法、IP等信息,同时避免敏感数据泄露。
    Golang· Go教程   |  8个月  |   golang 错误处理 日志记录 HTTP中间件 HTTPError 394浏览 收藏
  • Golangstrings库高效用法及BuilderReader优势
    Golangstrings库高效用法及BuilderReader优势
    Golang的strings库中高效的操作包括strings.Contains、strings.Index、strings.Replace和strings.Split;这些函数分别用于快速查找子字符串、定位子字符串位置、替换内容和按分隔符分割字符串,均基于优化算法实现;strings.Builder通过减少内存分配提升字符串拼接效率,而strings.Reader提供按需读取字符串的能力,适用于处理大型数据流。
    Golang· Go教程   |  8个月  |   golang 高效操作 strings.Builder strings库 strings.Reader 207浏览 收藏
  • Golang高性能RPC网关实现教程
    Golang高性能RPC网关实现教程
    gRPC-Gateway是一个由Google开发的工具链,可将gRPC接口自动转换为HTTP/JSON接口;其核心优势包括基于标准协议自动生成代码、支持OpenAPI/Swagger文档生成、扩展性强;搭建基本服务需按顺序完成以下步骤:安装protoc及相关插件、编写带注解的proto文件、生成gRPC和Gateway代码、在Go项目中启动服务;性能优化建议依次为设置合理超时、启用gzip压缩、使用连接池、利用中间件处理通用逻辑、实施并发控制与限流;部署结构通常为Client→Nginx/OpenRest
    Golang· Go教程   |  8个月  |   golang 性能优化 gRPC-Gateway RPC网关 proto文件 178浏览 收藏
  • GolangXML处理性能优化技巧
    GolangXML处理性能优化技巧
    处理Golang中XML文件的性能提升,关键在于解析方式的选择与数据处理优化。对于小型XML文件,使用xml.Unmarshal并优化结构体定义及内存复用可提升速度;对于大型文件,则应采用流式解析(如xml.NewDecoder)以减少内存占用。具体步骤如下:1.对小型XML,通过精简结构体字段、使用更小数据类型和sync.Pool复用结构体降低内存消耗;2.对大型XML,使用流式解析逐个读取元素,避免一次性加载全文件;3.处理流式解析时的状态管理、错误检查与命名空间识别;4.根据需求选择标准库或第三方高
    Golang· Go教程   |  8个月  |   golang 性能优化 xml 流式解析 xml.Unmarshal 496浏览 收藏
查看更多
课程推荐
  • 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次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码