Go语言技术文章

  • Go语言slog日志使用详解
    Go语言slog日志使用详解
    要实现结构化日志,必须显式创建Logger实例:用slog.New(slog.NewJSONHandler(os.Stdout,nil))输出标准JSON,或slog.New(slog.NewTextHandler(os.Stdout,nil))输出可解析的key=value格式;所有字段须用slog.String、slog.Int等类型化构造函数,避免裸键值对导致!BADKEY;HTTP请求中通过中间件生成trace_id并用slog.With注入子logger;建议启用sloglint强制类型化属性和
    Golang · Go教程   |  5个月前  |   465浏览 收藏
  • Golangmock测试技巧:gomock生成模拟方法
    Golangmock测试技巧:gomock生成模拟方法
    gomock报错“interfacehasunexportedmethods”是因为只支持mock首字母大写的导出方法;第三方非导出接口应通过包装暴露可导出接口;mockgen推荐用-source源码模式,Go1.18+需v1.6.0+;测试中须先EXPECT()再调用,结尾调Finish()校验。
    Golang · Go教程   |  5个月前  |   465浏览 收藏
  • GolangHTTP重试实现技巧与方法
    GolangHTTP重试实现技巧与方法
    http.Client.Timeout不解决重试问题,因其仅控制单次请求总耗时并直接返回错误,不自动重试;需手动集成退避重试逻辑(如backoff.Retryv4),并精准判断可重试错误类型。
    Golang · Go教程   |  5个月前  |   465浏览 收藏
  • Golang ARM交叉编译技巧分享
    Golang ARM交叉编译技巧分享
    Golang在ARM嵌入式开发中优势显著,其交叉编译机制支持高效部署。通过设置GOOS=linux、GOARCH=arm或arm64,并结合GOARM=6或7适配不同ARM版本,可生成无需运行时的独立二进制文件。Go的并发模型、内存安全和静态编译特性提升了开发效率与系统稳定性,尤其适合资源受限设备。但内存占用较高、GC停顿影响实时性,且Cgo交叉编译需配置目标平台工具链(如CC、CGO_CFLAGS等),增加了复杂性。针对Cgo依赖,需安装arm-linux-gnueabihf-gcc等交叉编译器,设置C
    Golang · Go教程   |  6个月前  |   465浏览 收藏
  • Golang项目包结构设计与最佳实践
    Golang项目包结构设计与最佳实践
    Go项目目录结构应依实际需求演进而非强制规范:满足多main、跨包复用、独立测试、依赖隔离等条件时才拆包;internal/需严格限定导入关系,pkg/应延后提取并附约束文档,cmd/按可执行文件分目录。
    Golang · Go教程   |  6个月前  |   465浏览 收藏
  • Go 模板 nil 数据处理与默认值回退技巧
    Go 模板 nil 数据处理与默认值回退技巧
    本文介绍在Gohtml/template中安全判断根对象(.)是否为nil或空值,并据此渲染默认元标签或基于属性的定制内容,避免大量冗余结构体初始化。
    Golang · Go教程   |  6个月前  |   465浏览 收藏
  • GoContext传数据与链路追踪入门
    GoContext传数据与链路追踪入门
    Context仅传递取消信号、超时控制及少量元数据(如traceID),业务数据应走函数参数或结构体;WithValue的key须为自定义类型;HTTPhandler优先用WithTimeout并defercancel;goroutine中defercancel会失效,应传入外部ctx或显式调用cancel。
    Golang · Go教程   |  6个月前  |   465浏览 收藏
  • Go语言Sync.Once用法与源码解析
    Go语言Sync.Once用法与源码解析
    sync.Once是唯一靠谱的“只执行一次”方案,因其底层用原子操作+互斥锁双重保障,确保并发调用Do时函数最多执行一次且所有调用者均等待完成。
    Golang · Go教程   |  6个月前  |   465浏览 收藏
  • Golangmock测试方法与实践技巧
    Golangmock测试方法与实践技巧
    在Go中使用mock对象可隔离外部依赖,常用testify/mock生成接口mock并验证调用行为,需通过接口和依赖注入实现,支持自动生成与手动编写两种方式。
    Golang · Go教程   |  6个月前  |   465浏览 收藏
  • Golang中len与cap的作用及底层原理
    Golang中len与cap的作用及底层原理
    len返回数据结构当前元素个数,cap返回最大容量;字符串取len为字节数,切片len为元素数、cap由底层数组决定,通道cap为缓冲大小,数组len与cap相等;切片截取共享底层数组,append超cap触发扩容;建议预设cap减少分配,注意共享数组的修改风险。
    Golang · Go教程   |  6个月前  |   465浏览 收藏
  • Go反射设置环境变量方法解析
    Go反射设置环境变量方法解析
    Go反射无法直接设置环境变量,唯一安全方式是os.Setenv;syscall.Setenv已被弃用,反射调用os.Setenv仅适用于动态函数选择场景。
    Golang · Go教程   |  6个月前  |   465浏览 收藏
  • Golang文件I/O与缓冲区使用技巧
    Golang文件I/O与缓冲区使用技巧
    使用bufio和sync.Pool可显著提升Golang文件I/O性能,通过减少系统调用和内存分配优化读写效率。
    Golang · Go教程   |  6个月前  |   465浏览 收藏
  • Golang微服务降级处理方法解析
    Golang微服务降级处理方法解析
    Golang通过熔断、超时、重试和中间件实现服务降级。1.使用gobreaker在失败达阈值时熔断,返回默认值;2.context.WithTimeout设置500ms超时并重试2次,失败后降级;3.Gin中间件统一拦截请求,根据健康状态返回兜底数据;4.接入etcd动态配置降级开关,结合Prometheus监控自动调整策略,保障核心链路稳定。
    Golang · Go教程   |  7个月前  |   465浏览 收藏
  • Golang匿名结构体使用教程与实例详解
    Golang匿名结构体使用教程与实例详解
    匿名结构体是Go中无需命名的临时结构体,用于简化局部数据结构定义。它可直接在变量声明、函数参数、返回值、切片或映射中使用,如:user:=struct{Namestring;Ageint}{"Alice",25}。常用于传递配置、构建用户列表或嵌套结构,如API响应处理。其核心优势是减少冗余类型定义,提升代码简洁性,适用于一次性或测试场景,但不可复用且过度使用可能降低可读性,需合理权衡。
    Golang · Go教程   |  7个月前  |   465浏览 收藏
  • Golang选项模式与默认值使用技巧
    Golang选项模式与默认值使用技巧
    WithXXX函数不该做参数校验,校验应推迟到构建完成后的Validate()方法中统一执行;默认值只写在选项函数内,结构体字段保持零值;必填字段须在构建末尾显式检查或改用构造函数参数强制传入。
    Golang · Go教程   |  7个月前  |   465浏览 收藏
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
  • Golang深入理解GPM模型
    Golang深入理解GPM模型
    Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
    474次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    263次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    315次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    299次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    272次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    92次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码