golang专题下共有 93 篇文章
-
- 用Golang开发高效CI插件,GitLabRunner自定义Executor实战教程
- 要使用Golang编写高效的GitLabRunnercustomexecutor插件,需理解其机制并遵循协议;1.理解GitLabRunner的externalexecutor机制及其通信协议;2.使用Golang实现initialize、run、cleanup等关键接口;3.通过stdin/stdout进行JSON数据交互,确保格式符合官方协议;4.注意环境变量、脚本执行、退出码等细节处理;5.规范日志输出,避免干扰标准输出;6.做好临时文件清理和跨平台兼容性支持;7.编译为可执行文件并在.gitlab
- Golang· Go教程 | 6天 | golang 协议 GitLabRunner CustomExecutor CI插件 194浏览 收藏
-
- Golang并发陷阱:channel阻塞与goroutine泄漏解析
- 要解决Golang并发编程中的常见陷阱,需掌握以下要点:1.避免channel阻塞的方法包括使用缓冲channel、select语句、超时机制及确保channel最终关闭;2.防止goroutine泄漏应使用context控制生命周期、确保channel有发送与接收方、并借助sync.WaitGroup等待所有goroutine完成;3.复杂并发场景下需通过锁、原子操作、sync.Once及errgroup处理资源竞争与协作;4.性能调优可借助pprof分析、调整GOMAXPROCS、减少锁竞争及使用连接
- Golang· Go教程 | 6天 | golang 并发编程 陷阱 goroutine泄漏 channel阻塞 381浏览 收藏
-
- Alpine搭建Golang环境及musl兼容方案
- 在AlpineLinux中搭建Golang环境需解决musllibc兼容性问题,1.安装Golang使用apkadd--no-cachego;2.设置GOPATH和GOROOT,推荐检查goenv并配置环境变量;3.解决兼容性问题可通过静态链接(gobuild-ldflags"-extldflags-static")或安装alpine-pkg-glibc并设置LD_LIBRARY_PATH;4.使用GoModules管理依赖,通过gomodinit初始化、gomodtidy整理依赖;5.优化程序体积可使用
- Golang· Go教程 | 6天 | golang 环境搭建 AlpineLinux 体积优化 musl兼容 278浏览 收藏
-
- GolangChannel实现事件发布订阅系统
- 1.增加Channel容量和使用缓冲:通过增大channel的缓冲区来应对高并发流量,减少事件丢失风险;2.引入消息队列:采用RabbitMQ或Kafka等持久化消息队列,确保事件不因消费者离线而丢失;3.使用Goroutine池控制并发:借助semaphore包限制处理事件的goroutine数量,防止资源耗尽;4.实现重试机制:在事件发布失败后进行有限次数的重试,避免数据丢失;5.建立监控告警系统:实时监控channel拥堵情况并及时响应。这些策略可根据实际场景组合使用,以在高并发下有效防止事件丢失。
- Golang· Go教程 | 6天 | golang channel 高并发 发布订阅模式 事件系统 463浏览 收藏
-
- 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教程 | 6天 | golang 配置 LOGRUS 日志系统 结构化日志 445浏览 收藏
-
- WindowsTerminal优化Golang开发流程
- 配置Golang环境在WindowsTerminal中的关键是设置路径和环境变量,并结合PowerShell技巧优化开发流程。1.首先通过goenv检查GOPATH和GOROOT是否正确,未设置时可在PowerShell临时设置或添加系统环境变量;2.将go/bin加入PATH以便终端直接运行程序;3.使用PowerShell别名和函数简化常用命令,如Set-Alias定义跳转目录、function定义执行脚本;4.利用WindowsTerminal多标签页提升效率,每个标签可自定义起始路径;5.安装Oh
- Golang· Go教程 | 6天 | golang 465浏览 收藏
查看更多
课程推荐
-
- Golang深入理解GPM模型
- Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
- 474次学习
-
- Go语言课程Gin框架实战
- Gin是一个用Go(Golang)编写的HTTPweb框架。它是一个类似于 martini 但拥有更好性能的API框架,由于 httprouter,速度提高了近40倍。如果你需要极好的性能,使用Gin吧。
- 338次学习
-
- Golang云原生架构师课程
- Go是一门并发支持、垃圾回收的编译型系统编程语言;本课程转载自哔哩哔哩:https://www.bilibili.com/video/BV1Mh411M7A
- 204次学习
-
- Go编程基础视频教程
- Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡点的一门编程语言。我们收集了这套《Go编程基础视频教程》,希望能够帮助大家更好的学习go语言。
- 167次学习
-
- Golang进阶实战编程
- 本课程是在《Go语言基础视频》基础之上录制的,是Go语言基础的后半部分。包括包的管理,IO操作,Go语言最大的亮点:高并发,goroutine,channel,反射等。本视频主要为了帮助Go语言的初学者,从零到一的快速入门。学完本套课程,可以学会如果通过包管理Go项目,并发模型,以及并发实现,channel通道如何传递数据,反射等等。
- 128次学习