gookit/goutil - Go一些常用的工具函数实现、增强、收集和整理
gookit/goutil
Go 常用的一些工具函数,数字,字符串,数组,Map,文件,错误,时间日期,特殊处理,格式化,常用信息获取等等
工具包
arrutil
array/slice 相关操作的函数工具包. 如:类型转换,元素检查等等dump
简单的变量打印工具,打印 slice, map 会自动换行显示每个元素,同时会显示打印调用位置cliutil
CLI 的一些工具函数包. eg: read input, exec command, cmdline parse/builderrorx
为 go 提供增强的错误实现,允许带有堆栈跟踪信息和包装另一个错误。envutil
ENV 信息获取判断工具包. eg: get one, get info, parse varfsutil
文件系统操作相关的工具函数包. eg: file and dir check, operatemaputil
map 相关操作的函数工具包. eg: convert, sub-value get, simple mergemathutil
,numutil
int/number 相关操作的函数工具包. eg: convert, math calc, randomnetutil/httpreq
包装 http.Client 实现的更加易于使用的HTTP客户端strutil
string 相关操作的函数工具包. eg: bytes, check, convert, encode, format and moresysutil
system 相关操作的函数工具包. eg: sysenv, exec, user, processtestutil
test help 相关操作的函数工具包. eg: http test, mock ENV valuetimex
提供增强的 time.Time 实现。添加更多常用的功能方法- 例如: DayStart(), DayAfter(), DayAgo(), DateFormat() 等等
Git 仓库
- Github: https://github.com/gookit/goutil
- Gitee: https://gitee.com/gookit/goutil
安装工具包
go get github.com/gookit/goutil
工具包使用
goutil/dump
goutil/dump - 是一个golang数据打印工具包,可以打印出漂亮易读的go slice, map, struct数据。
使用示例:
// go run ./dump/_examples/struct.go
func main() {s1 := &struct {cannotExport map[string]interface{}}{cannotExport: map[string]interface{}{"key1": 12,"key2": "abcd123",},}s2 := struct {ab stringCd int}{"ab", 23,}color.Infoln("- Use fmt.Println:")fmt.Println(s1, s2)color.Infoln("\n- Use dump.Println:")dump.P(s1,s2)
}
打印效果:
goutil/timex
goutil/timex
提供增强的 time.Time 实现。添加更多常用的功能方法。例如: DayStart(), DayAfter(), DayAgo(), DateFormat() 等等
创建 timex 实例
now := timex.Now()// from time.Time
tx := timex.New(time.Now())
tx := timex.FromTime(time.Now())// from time unix
tx := timex.FromUnix(1647411580)
从日期时间字符串创建:
// auto match layout by datetime
tx, err := timex.FromString("2022-04-20 19:40:34")
// custom set the datetime layout
tx, err := timex.FromString("2022-04-20 19:40:34", "2006-01-02 15:04:05")
// use date template as layout
tx, err := timex.FromDate("2022-04-20 19:40:34", "Y-m-d H:I:S")
获取时间:
tx := timex.Now()tx.Yesterday()
tx.Tomorrow()tx.DayStart() // get time at Y-m-d 00:00:00
tx.DayEnd() // get time at Y-m-d 23:59:59
tx.HourStart() // get time at Y-m-d H:00:00
tx.HourEnd() // get time at Y-m-d H:59:59tx.AddDay(2)
tx.AddHour(1)
tx.AddMinutes(15)
tx.AddSeconds(120)
格式化时间:
tx.DateFormat("y/m/d H:I")
date := tx.DateFormat("Y-m-d H:I:S") // Output: 2022-04-20 19:40:34
date = tx.DateFormat("y-m-d H:I:S") // Output: 22-04-20 19:40:34
更多工具包
更多工具和使用请查看 README
gookit/goutil - Go一些常用的工具函数实现、增强、收集和整理相关推荐
- 关于Vue中常用的工具函数封装
## Vue 项目中工具函数,我们通常会添加到Vue的原型中,这样就实现了全局函数 import Vue from 'vue' Vue.prototype.$tools = function (){} ...
- JavaScript常用的工具函数,不全面大家补充哦
JavaScript常用的工具函数,不全面大家补充哦 目录 博主介绍
- 前端常用Utils工具函数库合集
前端常用Utils工具函数库合集 在开发中,我们经常会将一些常用的代码块.功能块进行封装,为的是更好的复用.那么,被抽离出来独立完成功能,通过API或配置项和其他部分交互,便形成了插件. 函数库 Lo ...
- 一些常用的工具函数(snows-utils),已发npm,会陆续更新
简介:一些常用的自定义方法 **注意:请用最新版本(之前的有些版本有小问题,目前没有找到删除指定的版本的方法) v2.0.0之前的版本都是没有通过webpack打包的,文件相对于2.0. ...
- python常用的工具函数
1.zip:接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表. 如: a = [1,2] b = [3,4] c = dict(zip(a, b)) print c 结果: {1: ...
- vue一些常用的工具函数封装
(防抖 节流 深拷贝 数组对象去重 前端uuid生成,文件下载等函数封装) 1.校验数据类型 export const typeOf = function(obj) {return Object.pr ...
- C语言常用的工具函数(FM0编码发送函数)
FM0导引头及0-1对应编码为: #define YES 1 //翻转 #define NO 0 //不翻 #define HEADER_LEN 18//FM0 HEADER #define RN16 ...
- 从零开始学习jQuery (九) jQuery工具函数
本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery ( ...
- 从零开始学习jQuery (九) jQuery工具函数 【转】
一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍. 我们经常要使用脚本处理各种业务逻辑, 最常见的就 ...
最新文章
- DDD领域驱动之干货(二)
- java用流体加减乘除_任意输入两个数,完成加法、减法、乘法、除法运算!(加减乘除运算分别定义四个方法)_学小易找答案...
- C# 使用HttpWebRequest通过PHP接口 上传文件
- 基于python的聊天室_Python实现文字聊天室
- 微信小程序实现分类菜单 swiper分类菜单
- docker es持久化_Docker 搭建 ES 集群并整合 Spring Boot
- 用Flask封装下Ansible提供后端API
- [Android] 环境优化配置Android Studio发展NDK
- 留个坑,不知道为什么sqlite3要求组权限才能执行db:migrate,而可以直接执行db:......
- 解决Appium-windows安装时无法自动下载Appium-Desktop
- 【WPS文档】Shift+F3:切换英文大小写格式的快捷键
- ubuntu 18.04.2的初步配置
- Scrum板与Kanban如何抉择?敏捷工具:SHSYdsjgyadtgad
- php网页制作过程,网页制作步骤
- 最牛黑科技!一度电能跑1230公里的电动车
- python代码中的中文语法错误:SyntaxError: Non-ASCII character ‘\xe5‘ in file trade.py on line 7
- 什么是排序算法的稳定性
- 简单爬虫+ 线程+SQL+网页
- linux网络配置ifconfig
- JavaMail 访问Hotmail