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

golang
golang专题下共有 12022 篇文章
  • Golang接口规约验证业务规则方法
    Golang接口规约验证业务规则方法
    规约模式在Golang中通过接口和结构体实现,首先定义包含IsSatisfiedBy方法的规约接口,接着创建具体规约如AgeSpecification验证用户年龄,然后通过AndSpecification、OrSpecification等组合规约实现复杂规则,最后在业务逻辑中使用这些规约进行验证。应用场景包括电商商品筛选、金融系统条件验证等需组合判断的场景。避免过度复杂化的方法有保持规约单一职责、避免过度组合、适当抽象及选用合适模式。单元测试可通过testing包编写测试用例验证不同情况下的返回值是否符合
    Golang· Go教程   |  1个月  |   golang 接口 单元测试 规约模式 IsSatisfiedBy 414浏览 收藏
  • Golang反射替代方案及性能对比
    Golang反射替代方案及性能对比
    Go语言中提升反射性能的方法有代码生成和接口调用。代码生成利用静态类型在编译期生成特定逻辑,性能接近手写代码,适合ORM、序列化工具等场景;接口调用通过实现多态平衡灵活性与性能,适合插件系统、策略模式;两者相比反射性能优势明显,应优先选用。
    Golang· Go教程   |  1个月  |   golang 性能 反射 接口调用 代码生成 321浏览 收藏
  • Golang日志系统搭建:logrus配置全解析
    Golang日志系统搭建:logrus配置全解析
    要使用logrus开发Go应用的日志系统,需先安装库并导入,然后配置日志级别、格式和输出位置,再利用结构化字段记录上下文信息,还可选地添加Hook实现多端输出。1.安装logrus:运行gogetgithub.com/sirupsen/logrus;2.导入库并设置别名为log;3.设置日志级别如log.SetLevel(log.DebugLevel);4.选择输出格式如JSON:log.SetFormatter(&log.JSONFormatter{});5.设置输出位置如文件或终端;6.使用W
    Golang· Go教程   |  1个月  |   golang 日志级别 LOGRUS 日志系统 结构化字段 151浏览 收藏
  • Golang包可见性规则与命名技巧解析
    Golang包可见性规则与命名技巧解析
    Golang的包可见性通过标识符的大小写控制访问权限,以大写开头的为公开标识符可被外部包访问,小写开头的为私有标识符仅限包内使用。1.公开标识符构成包的公共API,确保外部代码仅依赖稳定接口;2.私有标识符隐藏内部实现细节,降低复杂性和副作用风险;3.大小写机制体现Golang设计哲学:简单、可读、实用,避免复杂关键字或非强制约定;4.实际应用需权衡可见性级别,合理暴露API以提高可维护性并减少耦合度;5.Golang无其他内置可见性控制方式,依赖包结构和接口设计实现更灵活控制。该机制通过强制执行命名规范
    Golang· Go教程   |  1个月  |   golang 封装 标识符 大小写 包可见性 150浏览 收藏
  • Golangzlib压缩解压实战详解
    Golangzlib压缩解压实战详解
    使用Golang的compress/zlib包可实现zlib格式的数据压缩与解压。1.压缩数据时,通过zlib.NewWriter创建写入器,将数据写入缓冲区并调用Close()完成压缩;2.解压数据时,使用zlib.NewReader读取压缩流并通过io.Copy提取原始数据,并记得关闭读取器;3.实际应用中可在HTTP请求头设置Content-Encoding为zlib,客户端压缩发送、服务端识别并解压处理;4.压缩级别可调整,BestCompression(9)提供最高压缩率,BestSpeed(1
    Golang· Go教程   |  1个月  |   golang HTTP 数据压缩 压缩解压 compress/zlib 419浏览 收藏
  • Golang内存优化:AllocsPerOp调优技巧
    Golang内存优化:AllocsPerOp调优技巧
    优化Go语言基准测试中的内存分配(AllocsPerOp)的核心在于减少不必要的分配并通过工具定位瓶颈。1.识别不必要的内存分配,如循环内创建slice、map或临时结构体,可通过sync.Pool复用对象。2.使用pprof工具分析内存分配热点,深入具体函数和语句层面。3.避免变量逃逸到堆上,尽量让小对象留在栈上并避免将局部变量传入闭包。4.利用sync.Pool缓存频繁创建的临时对象,缓解GC压力并提升吞吐量,但注意其不适合长期缓存。
    Golang· Go教程   |  1个月  |   golang 内存优化 pprof sync.Pool AllocsPerOp 431浏览 收藏
查看更多
课程推荐
  • 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次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码