跟着开源项目学GO(10)

345 阅读2分钟

「这是我参与2022首次更文挑战的第22天,活动详情查看:2022首次更文挑战

生命不息,学习不止

题外话

今天是周六啦,听说谷爱凌小姐姐又拿金牌了,果然是都不用看,醒来就是一场大胜,看来我和广大掘友们也需要像谷爱凌小姐姐学习,争取醒来身价就是一顿暴涨!!!

截图_20222517032552.png

废话不多说,上货

在这里插入图片描述

开源项目——go-gin-api

go-gin-api

这是一个主要以gin框架为主,包含了一些常用功能,包括日志,菜单,权限,代码生成的功能的一个项目。

需求回顾

上回咱们完成了这个项目的第一个小需求:仪表盘的内存信息板中的总量数值在获取计算机内存数值基础上+1

我们根据前端框架请求的dashboard接口找到了dashboard.go文件,修改了obj.MemTotal的值完成需求。

今天就打算说说dashboard.go用到的相关包和方法

dashboard.go

dashboard.go 中只有一个func,如下

截图_20225918025952.png

矩形框中就是内存信息的数据

再来说一下矩形框上方的这几个信息,

memInfo, _ := mem.VirtualMemory()//项目信息
diskInfo, _ := disk.Usage("/")//内存信息
hostInfo, _ := host.Info()//站点信息
cpuInfo, _ := cpu.Info()//cpu信息
cpuPercent, _ := cpu.Percent(time.Second, false)//cpu使用率

对应这仪表盘的五个小仪表盘 ,分别调用了一下四个包

"github.com/shirou/gopsutil/cpu" //获取cpu信息
"github.com/shirou/gopsutil/disk" //获取硬盘
"github.com/shirou/gopsutil/host" //获取服务端信息
"github.com/shirou/gopsutil/mem"  //获取内存信息

大家感兴趣的可以自己看一下文档,咱接着往下看

截图_20220721110746.png

这部分就是数据的业务处理了,没啥难度,继续

截图_20220821110831.png

runtime包通过反射获取运行时的一些信息,包含与 Go 的运行时系统交互的操作,反射包使用的低级类型信息;有关运行时类型系统的可编程接口等,感兴趣的小伙伴可以去看官方文档。

最后通过ctx.HTML()模板构建函数讲数据传递给dashboard模板页面。

这样dashboard.go就算是解析完毕了

下回预告

下回咱们就再来一个需求,弄一个稍微难一点的。

下一篇就讲,敬请期待

在这里插入图片描述

大家看完发现有什么错误,写在下面吧!跟我黑虎阿福比划比划! 在这里插入图片描述