欢迎加入开源项目,提你的 mr

Go Commons:Golang 开发者的常用工具集,一站式解决常见需求

在 Go 语言的开发过程中,你是不是经常遇到这样的情况:

  • 想要做点小功能,却得从零写起,或者到处找三方库;
  • 三方库鱼龙混杂,不知道哪个好用、哪个还在维护;
  • 想要快速上手一个 demo,却因为依赖配置、用法不清晰而被劝退。

这正是 Go Commons 诞生的原因 —— 一个汇集了常用工具、示例清晰、开箱即用的 Go 开源项目。


为什么要有 Go Commons?

目前 Golang 的工具库非常分散:有些只解决一个小问题,有些写法复杂过度封装,还有一些早已无人维护。Go Commons 的目标就是 “小白友好、即拿即用、覆盖常见场景”

无论是 字符串处理、文件操作、HTTP 请求,还是 资源采集、Prometheus exporter 集成,都能在这里找到简单直接的实现。


如何使用 Go Commons?

1. 拉取依赖

只需要在你的项目里引入:

go get github.com/Rodert/go-commons

2. 在 main.go 中调用

假设你想获取当前服务器的内存使用情况,只需几行代码:

package mainimport ("fmt""github.com/Rodert/go-commons/sysinfo"
)func main() {mem := sysinfo.GetMemoryUsage()fmt.Printf("Total: %v MB, Used: %v MB, Free: %v MB\n",mem.TotalMB, mem.UsedMB, mem.FreeMB)
}

直接运行:

go run main.go

是不是非常直观?不用研究复杂的 API,就能快速拿到结果。


结合 Prometheus Exporter

如果你希望把这些指标暴露给 Prometheus,只需要额外几行代码:

package mainimport ("net/http""github.com/prometheus/client_golang/prometheus/promhttp"
)func main() {http.Handle("/metrics", promhttp.Handler())http.ListenAndServe(":2112", nil)
}

运行后,Prometheus 就能通过 http://localhost:2112/metrics 拉取你采集到的数据,实现 “迷你版 Node Exporter” 的效果。


可以用 Go Commons 做什么?

  • 写一个小脚本,快速采集 CPU / 内存 / 磁盘 数据;
  • 集成到 Prometheus,搭建轻量化的监控;
  • 替代复杂的第三方库,减少依赖风险;
  • 作为学习 Go 的练手项目,一步步拓展。

总结

Go Commons 的价值就在于:把常用的功能打包好,开发者直接拿来用
它不像一些框架那样“重”,而是追求“够用 + 简单”。

如果你刚开始学习 Go,或者想要一个轻量化的工具库,不妨试试:
👉 GitHub 仓库地址

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/923530.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/923530.shtml
英文地址,请注明出处:http://en.pswp.cn/news/923530.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KingbaseES客户端工具Ksql使用全指南:从安装到高级操作

引言 在国产数据库蓬勃发展的今天,KingbaseES凭借其自主可控、高性能、高可用的特性,已成为政务、金融、能源等关键领域的首选数据库。而作为其配套的命令行工具,Ksql更是DBA和开发人员的“瑞士军刀”——它不仅能高效执行SQL查询&#xff0c…

【LeetCode - 每日1题】可以输入的最大单词数

🌈 个人主页:(时光煮雨) 🔥 高质量专栏:vulnhub靶机渗透测试 👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分95+),分享更多关于网络安全、Python领域的优质内容!(希望得到您的关注~) 🌵目录🌵 难度 ⭐⭐ 题目回顾 ✅解题思路 💖概述 💓核心…

3227. 字符串元音游戏

3227. 字符串元音游戏 题目链接:3227. 字符串元音游戏 代码如下: class Solution { public:bool doesAliceWin(string s) {return ranges::any_of(s, [](char c) {return c a || c e || c i || c o || c u;});} };

微信小程序坐标位置使用整理(四)map组件

一、地图上标点&#xff0c;marker 1.wxml <map id"map" scale"9" class"map"markers"{{markers}}" longitude"{{longitude}}" latitude"{{latitude}}" show-location"{{true}}"><cover-vie…

Parlant框架深度技术解析:革命性AI代理行为建模引擎

引言 在人工智能快速发展的今天&#xff0c;AI代理&#xff08;Agent&#xff09;技术已经成为连接人工智能与实际应用场景的重要桥梁。然而&#xff0c;传统的AI代理开发面临着诸多挑战&#xff1a;提示词工程的复杂性、行为不可预测性、工具调用的不确定性等问题严重制约了AI…

AI重构车载测试:从人工到智能的跨越

目录 一、AI 在车载测试中的核心价值 二、AI 在车载测试的具体应用场景 (一)自动驾驶测试:AI 解决 “场景覆盖” 与 “决策可靠性” 难题 (二)车机系统测试:AI 优化 “交互体验” 与 “功能稳定性” (三)车载硬件测试:AI 实现 “故障预测” 与 “精准校准” (四)功能…

从职责划分看架构:MVC 的 Controller 与 MVVM 的 ViewModel 差异

深入浅出&#xff1a;前端MVC与MVVM架构模式&#xff0c;你真的懂了吗&#xff1f;✨ 序言 各位前端的“程序猿”和“程序媛”们&#xff0c;大家好&#xff01;&#x1f44b; 在前端开发的江湖中&#xff0c;MVC和MVVM这两个词&#xff0c;就像武林秘籍一样&#xff0c;常常被…

Vue-color:Vue.js 专业颜色选择器组件库 – 支持Vue2/3,TypeScript,暗色主题

简介 Vue-color 是一个专为 Vue.js 设计的颜色选择器组件库&#xff0c;提供了多种风格的颜色选择器组件。它支持 Vue 2.7 和 Vue 3&#xff0c;具有 TypeScript 支持、SSR 兼容性和暗色主题支持。 特性 多种颜色选择器 – 提供 Chrome、Sketch、Photoshop 等多种风格Vue 2.…

ArcGIS定向影像(2)——非传统影像轻量级解决方案

ArcGIS能让用户自己低成本的做出谷歌街景吗&#xff1f;现在ArcGIS Pro 3.2 和 ArcGIS Enterprise 11.2 能够让用户不使用任何插件和扩展的情况下完成街景数据集的构建&#xff0c;数据管理&#xff0c;发布服务和调用的完整解决方案。非常体系化&#xff0c;由底层数据驱动&am…

CKA05--service

Task 重新配置 spline-reticulator namespace 中现有的 front-end Deployment&#xff0c;以公开现有容器 nginx 的端口 80/tcp 创建一个名为 front-end-svc 的新 Service &#xff0c;以公开容器端口 80/tcp 配置新的 Service &#xff0c;以通过 NodePort 公开各个 Pod 解析&…

用 Go 采集服务器资源指标:从原理到实践

在后端开发或运维工作中&#xff0c;采集服务器资源指标 是个绕不开的需求&#xff1a; 运维要看 CPU、内存、磁盘的使用情况监控系统要定期上报这些数据应用程序有时候也需要根据系统负载做限流、弹性伸缩 那么问题来了&#xff1a;用 Go 怎么优雅地采集这些指标呢&#xff…

安卓学习 之 上下文菜单的操作

先来认识一下上下文菜单是什么样子的&#xff1f;如图&#xff0c;当长按一个控件时弹出来的菜单叫做上下文菜单&#xff1a;图中第一个和第二个就是一个上下文菜单&#xff0c;第二个菜单里面还有一层菜单&#xff0c;这个上下文菜单被绑定到注册按钮中&#xff0c;也就是长按…

fabric启动节点var/hyperledger/production: permission denied

场景我在节点的compose文件中进行了数据挂载&#xff1a;- ../../data/bank1/peer1:/tmp/hyperledger/bank1/peer1但是运行是依然报错为var/hyperledger/production的权限问题&#xff0c;并且我也已经对../../data/bank1/peer1目录设置了操作权限services:peer1-bank1:contain…

uni-app + Vue3 开发展示 echarts 图表

场景:使用 uni-app 开发手机端,需要展示 echarts 图表 1. 打开 uni-app 官网 https://uniapp.dcloud.net.cn/ 2. 点击右上角搜索 3. 点击插件市场,搜索 echarts 找到 echarts 插件 4. 下载到自己的项目中 使用详情在该页面下方.

给AI配一台手机+电脑?智谱AutoGLM上线!

早上刚坐进地铁&#xff0c;对着手机随口说句 “整理上周销售周报”&#xff0c;等你到公司打开电脑&#xff0c;Excel 数据统计表、PPT 汇报版已经整整齐齐躺在桌面 —— 这不是科幻片里的画面&#xff0c;而是智谱 AutoGLM 2.0 带来的真实体验。2025年8月20日&#xff0c;智谱…

NGUI--游戏登录、注册和服务器选择系统​​

项目核心思路该项目实现了一个完整的游戏账号流程&#xff1a;​​用户侧流程​​&#xff1a;新用户注册 -> 返回登录 -> 输入账号密码 -> 选择游戏服务器 -> 进入游戏。​​数据管理​​&#xff1a;所有数据&#xff08;账号信息、服务器列表、用户选择&#xf…

自动化测试框架是软件测试的核心基础设施,通过预设规则和脚本自动执行测试用例,显著提高测试效率和覆盖率。

1. 自动化测试框架1.1 概述自动化测试框架是软件测试的核心基础设施&#xff0c;通过预设规则和脚本自动执行测试用例&#xff0c;显著提高测试效率和覆盖率。现代AI驱动的自动化测试框架结合了机器学习、自然语言处理和计算机视觉技术&#xff0c;实现了更智能的测试用例生成、…

在 Ubuntu 系统中利用 conda 创建虚拟环境安装 sglang 大模型引擎的完整步骤、版本查看方法、启动指令及验证方式

以下是在 Ubuntu 系统中利用 conda 创建虚拟环境安装 sglang 大模型引擎的完整步骤、版本查看方法、启动指令及验证方式,全程使用清华源加速,并包含关键注意事项: 一、完整安装步骤(基于 conda + 清华源) 1. 准备工作:安装 conda 并配置清华源 (1)安装 Miniconda #…

Unity Excel数据导入工具

UnityExcelImporterX - Unity Excel数据导入工具 自动将Excel文件&#xff08;.xls, .xlsx&#xff09;中的数据转换为Unity的ScriptableObject资源。 项目基于unity-excel-importer&#xff0c;增加了一些新特性。项目地址&#xff1a;github.com/nayaku/UnityExcelImporter…

np.linalg 函数一览

&#x1f4da; 常用 np.linalg 函数一览下面是一些最常用的功能和示例&#xff1a;1. np.linalg.norm() —— 计算向量或矩阵的范数python深色版本import numpy as npv np.array([3, 4]) print(np.linalg.norm(v)) # L2 范数&#xff08;模长&#xff09;: √(34) 5.0A np.…