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

golang
golang专题下共有 308 篇文章
  • Golang正确封装第三方错误方法
    Golang正确封装第三方错误方法
    Golang处理第三方库错误的核心在于封装第三方错误类型以提升代码健壮性和维护性。1.通过自定义错误结构体(如MyError)实现error接口,并保存原始错误以供调试;2.调用第三方库时返回自定义错误,隐藏其实现细节;3.使用errors.Is和errors.As判断错误类型和获取特定错误信息;4.实现Unwrap方法支持错误链处理;5.遵循错误处理最佳实践,如不忽略错误、尽早返回、提供上下文、使用错误码;6.避免过度封装,仅在必要时进行封装;7.可使用预定义错误对象优化性能;8.利用errgroup.
    Golang· Go教程   |  4星期  |   golang 自定义错误 错误链 错误封装 第三方错误 267浏览 收藏
  • FreeRTOS运行Golang配置指南
    FreeRTOS运行Golang配置指南
    在FreeRTOS中运行Golang需通过交叉编译将Go代码转为C兼容静态库并集成至项目。1.使用cgo进行交叉编译,生成C语言静态库libgo.a及头文件main.h;2.搭建FreeRTOS开发环境,包括编译器、IDE和调试工具;3.将生成的库文件集成到FreeRTOS项目中,并修改构建脚本以链接库文件;4.禁用Go垃圾回收,手动管理内存,并使用FreeRTOS任务模拟goroutine并发;5.调试时使用GDB或日志输出观察执行结果;6.优化性能,减少内存分配、选择高效算法、启用编译优化、避免反射;
    Golang· Go教程   |  1星期  |   golang 嵌入式 CGO 交叉编译 FreeRTOS 266浏览 收藏
  • Golang实现OAuth2.0第三方登录教程
    Golang实现OAuth2.0第三方登录教程
    1.使用go-oauth2/oauth2搭建认证服务,实现authorize和token接口。2.用coreos/go-oidc对接Google等平台实现第三方登录。3.注意HTTPS、CSRF防护、安全存储token及权限最小化。本文介绍了在Golang中实现OAuth2.0服务的准备工作、基础结构搭建、主流平台集成方式及安全性注意事项,帮助开发者构建稳定且安全的授权流程。
    Golang· Go教程   |  4星期  |   golang 第三方登录 OAuth2.0 go-oauth2 go-oidc 265浏览 收藏
  • Golang时间处理详解:time包实用技巧
    Golang时间处理详解:time包实用技巧
    Golang处理时间的关键在于掌握time.Now()获取当前时间、格式化与解析的方法以及时间计算和比较。1.使用time.Now()获取当前时间对象或时间戳;2.格式化时间需基于参考时间“2006-01-0215:04”进行定义;3.解析字符串为时间需严格匹配格式并注意时区;4.时间加减通过Add方法结合time.Duration实现;5.比较时间使用After、Before或Equal方法,计算间隔可用Sub方法获取时间差。
    Golang· Go教程   |  4星期  |   golang 时间格式化 时间处理 time包 time.Now() 265浏览 收藏
  • GolangPipe适合流式处理?管道在文件转换中的应用解析
    GolangPipe适合流式处理?管道在文件转换中的应用解析
    Golang的io.Pipe适合流式处理的核心在于提供内存中的同步管道,允许一个goroutine写入、另一个读取,无需显式缓冲管理。1.io.Pipe创建内存管道,一端写入一端读取,形成数据流水线;2.适用于文件转换,将CSV读取、转换、JSON写入分解为独立goroutine,通过io.Pipe连接;3.错误处理需使用defer关闭写入端,并通过CloseWithError传递错误;4.性能优化包括调整缓冲大小、控制并发、减少内存分配、使用高效序列化库、利用io.Copy;5.其他流式方案包括chan
    Golang· Go教程   |  4星期  |   golang 性能优化 流式处理 文件转换 io.Pipe 264浏览 收藏
  • Golang零拷贝IO技巧与性能提升
    Golang零拷贝IO技巧与性能提升
    Golang实现零拷贝IO的核心在于避免数据在内核空间与用户空间间复制;1.使用syscall.Sendfile(Linux)或TransmitFile(Windows)可直接将文件数据从文件描述符传输至socket描述符,无需用户空间参与;2.采用mmap将文件映射到内存,允许直接访问内容,跳过read/write操作;3.结合bufio进行缓冲以减少系统调用次数,提升效率;相较于io.Copy,其内部使用固定缓冲区并涉及用户与内核空间拷贝,未发挥零拷贝优势;选择方法需视应用场景及操作系统而定,Send
    Golang· Go教程   |  4星期  |   golang 性能优化 mmap 零拷贝IO syscall.Sendfile 264浏览 收藏
查看更多
课程推荐
  • 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次学习
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码