知识分享之Golang——常用Util方法整理

简介: 知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。知识分享系列目前包含Java、Golang、Linux、Docker等等。

知识分享之Golang——常用Util方法整理

背景

知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。

知识分享系列目前包含Java、Golang、Linux、Docker等等。

开发环境

  • 系统:windows10
  • 语言:Golang
  • golang版本:1.17
  • 代码仓库:FastDevelopGo

    内容

1、字节的单位转换 保留两位小数 EB TB GB MB KB B

// 字节的单位转换 保留两位小数
func computeFileSize(fileSize int64) string {
    if fileSize < 1024 {
        //return strconv.FormatInt(fileSize, 10) + "B"
        return fmt.Sprintf("%.2fB", float64(fileSize)/float64(1))
    } else if fileSize < (1024 * 1024) {
        return fmt.Sprintf("%.2fKB", float64(fileSize)/float64(1024))
    } else if fileSize < (1024 * 1024 * 1024) {
        return fmt.Sprintf("%.2fMB", float64(fileSize)/float64(1024*1024))
    } else if fileSize < (1024 * 1024 * 1024 * 1024) {
        return fmt.Sprintf("%.2fGB", float64(fileSize)/float64(1024*1024*1024))
    } else if fileSize < (1024 * 1024 * 1024 * 1024 * 1024) {
        return fmt.Sprintf("%.2fTB", float64(fileSize)/float64(1024*1024*1024*1024))
    } else { //if fileSize < (1024 * 1024 * 1024 * 1024 * 1024 * 1024)
        return fmt.Sprintf("%.2fEB", float64(fileSize)/float64(1024*1024*1024*1024*1024))
    }
}

2、时间戳转换时间工具函数

func formatAsDate(t int64) string {
    tm := time.Unix(t, 0)
    return tm.Format("2006/01/02 03:04:05")
}

参见地址:

https://blog.csdn.net/gaoluhua/article/details/104591055

欢迎大家积极start,大家的关注是我最大的动力。

本文声明:

5330898-d1c72b6c90e378f3.png
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

目录
相关文章
|
分布式计算 Java Serverless
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
本文以 ECS 连接 EMR Serverless Spark 为例,介绍如何通过 EMR Serverless spark-submit 命令行工具进行 Spark 任务开发。
726 7
EMR Serverless Spark 实践教程 | 通过 spark-submit 命令行工具提交 Spark 任务
|
分布式计算 搜索推荐 Hadoop
03 Hadoop国内外应用案例介绍
03 Hadoop国内外应用案例介绍
790 0
|
消息中间件 监控 Kafka
Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
【8月更文挑战第13天】Filebeat+Kafka+Logstash+Elasticsearch+Kibana 构建日志分析系统
936 3
|
人工智能 Unix 物联网
深入理解操作系统:从概念到实践
【7月更文挑战第31天】本文将带领读者深入探索操作系统的世界,从基本概念、发展历程、核心组件,到实际应用场景和未来趋势。我们将揭示操作系统如何作为软件与硬件之间的桥梁,以及它如何影响计算机系统的性能和用户体验。通过本文,您将获得对操作系统设计哲学的深刻理解,并掌握评估不同操作系统特性的能力。
221 7
|
监控 NoSQL Linux
【Redis】redis安装与客户端redis-cli的使用(批量操作)
【Redis】redis安装与客户端redis-cli的使用(批量操作)
【Redis】redis安装与客户端redis-cli的使用(批量操作)
趣解装饰者模式之《我想吃煎饼果子了》
趣解装饰者模式之《我想吃煎饼果子了》
179 0
|
前端开发 JavaScript 关系型数据库
基于springboot+vue的学生选课系统(前后端分离)
该系统基于springboot+vue整合,mysql数据库,前后端分离,具有完整的业务逻辑。
基于springboot+vue的学生选课系统(前后端分离)
|
机器学习/深度学习 传感器 运维
【回归预测-LSSVM预测】基于PSO和PSR结合LSSVM实现数据回归预测附matlab代码
【回归预测-LSSVM预测】基于PSO和PSR结合LSSVM实现数据回归预测附matlab代码
|
消息中间件 监控 NoSQL
项目中怎样做技术选型
项目中怎样做技术选型
项目中怎样做技术选型

热门文章

最新文章