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

golang
golang专题下共有 52 篇文章
  • Golang错误处理中间件设计与实现
    Golang错误处理中间件设计与实现
    Golang中间件统一错误处理的实现步骤如下:1.定义统一错误结构体,如包含状态码和错误描述;2.编写中间件函数拦截错误,捕获panic并返回结构化错误信息;3.在业务逻辑中使用统一错误响应方法,确保错误输出一致;4.区分已知错误与未知错误,结合日志记录与堆栈信息提升排查效率;5.利用Gin等框架内置机制简化全局错误处理。通过上述步骤可提升服务健壮性与维护性。
    Golang· Go教程   |  20小时  |   golang 错误处理 中间件 panic 统一错误响应 500浏览 收藏
  • Golang复数类型教程:complex64与complex128详解
    Golang复数类型教程:complex64与complex128详解
    Golang的复数类型有complex64和complex128,它们分别使用float32和float64作为实部和虚部的数据类型;complex64适用于对精度要求不高或内存受限的场景,而complex128提供更高精度,推荐在一般情况下使用。复数运算遵循标准数学规则,包括加法、减法、乘法和除法,并要求操作数类型一致,否则需进行类型转换。可通过math/cmplx包中的Abs函数计算复数的模,通过Phase函数获取辐角(以弧度为单位)。
    Golang· Go教程   |  21小时  |   golang 复数类型 复数运算 complex64 complex128 212浏览 收藏
  • Golang接口规约验证业务规则方法
    Golang接口规约验证业务规则方法
    规约模式在Golang中通过接口和结构体实现,首先定义包含IsSatisfiedBy方法的规约接口,接着创建具体规约如AgeSpecification验证用户年龄,然后通过AndSpecification、OrSpecification等组合规约实现复杂规则,最后在业务逻辑中使用这些规约进行验证。应用场景包括电商商品筛选、金融系统条件验证等需组合判断的场景。避免过度复杂化的方法有保持规约单一职责、避免过度组合、适当抽象及选用合适模式。单元测试可通过testing包编写测试用例验证不同情况下的返回值是否符合
    Golang· Go教程   |  1天  |   golang 接口 规约模式 业务规则 组合规约 348浏览 收藏
  • Golang优化技巧:调整P与工作窃取方法
    Golang优化技巧:调整P与工作窃取方法
    要减少Golang上下文切换,核心在于控制并发度、优化调度器行为。1.合理设置P的数量:CPU密集型任务设为CPU核心数,IO密集型任务可适当增加;2.利用工作窃取策略平衡负载,但避免频繁窃取带来的性能损耗;3.使用pprof分析上下文切换热点,关注CPU、Goroutine和BlockProfile;4.避免不必要的goroutine创建,采用goroutine池复用和限制并发数量;5.减少锁竞争,缩短锁持有时间,使用细粒度锁或无锁结构。通过上述手段系统调优,能有效降低上下文切换开销,提升程序性能。
    Golang· Go教程   |  1天  |   golang Goroutine 性能优化 调度器 上下文切换 230浏览 收藏
  • Golang测试套件组织指南:分层与Main函数解析
    Golang测试套件组织指南:分层与Main函数解析
    组织大型Golang测试套件的核心在于分层测试和统一测试入口管理。1.测试分层包括单元测试、集成测试和端到端测试,分别用于验证代码逻辑、模块交互和系统功能;2.使用TestMain函数统一管理测试入口,支持初始化和清理操作,并通过flag控制测试类型;3.测试目录结构按unit、integration、e2e划分,配合main_test.go统一入口;4.利用Makefile简化测试执行命令,实现不同测试类型的隔离运行;5.使用Mock框架(如gomock)提高单元测试的独立性和可靠性;6.在CI/CD流
    Golang· Go教程   |  1天  |   golang 测试套件 Mock框架 TestMain函数 分层测试 299浏览 收藏
  • Golang反射与泛型结合使用详解
    Golang反射与泛型结合使用详解
    在Go语言中,通过reflect包可以获取泛型类型参数的实际类型。1.首先获取reflect.Type对象;2.通过该对象访问字段的具体类型。例如,使用reflect.TypeOf获取实例的类型信息,再通过FieldByName方法获取字段类型。反射与泛型结合常用于ORM框架、序列化/反序列化及依赖注入等场景。性能方面,应避免过度使用反射,优先使用类型断言,并缓存反射结果以提升效率。实验表明,类型断言的性能显著优于反射操作。合理使用反射与泛型可编写出灵活且通用的代码,但需权衡性能与灵活性。
    Golang· Go教程   |  1天  |   golang 性能 反射 泛型 类型参数 370浏览 收藏
查看更多
课程推荐
  • 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次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码