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

golang
golang专题下共有 14155 篇文章
  • Golang实现访问者模式与双分发技巧
    Golang实现访问者模式与双分发技巧
    访问者模式在Golang中通过接口和类型断言模拟双重分发实现,其核心步骤为:1.定义Visitor和Element接口,每个具体元素实现Accept方法调用访问者的对应Visit函数;2.具体访问者为每种元素实现Visit逻辑,实现操作与数据结构分离;3.适用于结构稳定、操作多变的场景,但新增元素需更新所有访问者。该方式利用Go的静态类型和动态调度,在不修改元素的前提下扩展操作,但缺乏泛型支持和继承机制使实现较繁琐。
    Golang· Go教程   |  8个月  |   golang 接口 类型断言 访问者模式 双重分发 282浏览 收藏
  • Golang错误处理技巧与自定义错误详解
    Golang错误处理技巧与自定义错误详解
    在Go语言中,错误处理应优先使用标准库的errors包和自定义错误类型。1.使用errors.New定义静态错误值,避免字符串拼接以确保可比较性;2.调用errors.Is判断特定错误,而非通过字符串比较;3.需要添加上下文信息时,使用fmt.Errorf的%w格式包装错误,以便保留错误链并能被Unwrap解析;4.自定义错误类型实现error接口,可携带结构化信息便于分类和展示;5.实际开发中建议统一错误结构、避免过度包装、谨慎使用哨兵错误,并在日志中记录上下文信息,同时在单元测试中验证错误行为。
    Golang· Go教程   |  8个月  |   golang 错误处理 自定义错误 errors.Is errors包 224浏览 收藏
  • Golang多返回值与错误处理详解
    Golang多返回值与错误处理详解
    在Go语言中,函数支持返回多个值,主要用于错误处理、解包数据等场景。1.函数通过在return后列出多个值实现多返回值,如返回结果和error;2.常用于返回是否存在(bool)和实际值、拆分复杂计算结果、模拟out参数等;3.错误处理时通常将error作为最后一个返回值并立即检查;4.注意事项包括不忽略错误、使用自定义错误类型、利用Go1.13的错误链判断工具;5.可命名返回值并省略return后变量名以提升可读性;6.使用\_忽略不需要的返回值时需谨慎避免掩盖问题。
    Golang· Go教程   |  8个月  |   golang 函数 错误处理 多返回值 469浏览 收藏
  • GolangCSV文件读写教程详解
    GolangCSV文件读写教程详解
    Go语言中使用encoding/csv包可高效处理CSV文件读写。读取时用csv.NewReader创建读取器,通过ReadAll一次性读取或Read逐行处理;写入时用csv.NewWriter创建写入器,调用Write或WriteAll添加数据并需调用Flush提交;支持设置分隔符、注释字符等配置项,并需注意首行处理、错误处理及大文件内存控制。
    Golang· Go教程   |  8个月  |   golang csv 读写 encoding/csv 307浏览 收藏
  • Golang缓存设计:内存与Redis协同优化
    Golang缓存设计:内存与Redis协同优化
    Golang中设计高效缓存策略的关键在于结合内存缓存与Redis优势并采用合适方案。首先选择合适的缓存库,如go-cache适合小型项目,BigCache和FreeCache适合高并发场景;其次确定唯一且易生成的缓存键策略;第三设置合理的过期时间以平衡命中率与更新频率;第四实现缓存更新策略,包括Cache-Aside、Read-Through/Write-Through和Write-Behind;第五使用Redis作为二级缓存提升数据持久性和容量;第六通过监控工具定期检查缓存性能;针对缓存穿透可采用缓存空
    Golang· Go教程   |  8个月  |   golang redis 缓存 内存缓存 缓存策略 363浏览 收藏
  • Golang集成VaultAPI管理云密钥教程
    Golang集成VaultAPI管理云密钥教程
    如何使用Golang集成VaultAPI实现密钥安全管理?答案如下:1.准备工作包括安装配置Vault客户端,引入官方库并初始化客户端连接;2.核心操作包括通过kv-v2引擎进行密钥的读写;3.安全增强措施是使用AppRole身份验证获取临时Token,避免硬编码长期Token;4.注意事项涵盖路径权限、KV版本差异、错误处理、Token刷新及环境隔离。准备工作需引入api库并初始化客户端,设置地址和Token;核心操作通过client.Logical().Write和Read方法完成,注意路径格式包含d
    Golang· Go教程   |  8个月  |   golang 密钥管理 Vault AppRole VaultAPI 410浏览 收藏
查看更多
课程推荐
  • 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次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码