同步操作将从 点九先生/gokit 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
一套 Go 工具包。
GoKit是一个小而全的Go工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Go拥有Java语言Hutool般地体验。
GoKit中的工具方法来自每个用户的精雕细琢,它涵盖了Go开发底层代码中的方方面面,它既是大型项目开发中解决小问题的利器,也是小型项目中的效率担当;
GoKit是项目中“util”包友好的替代,它节省了开发人员对项目中公用类和公用工具方法的封装时间,使开发专注于业务,同时可以最大限度的避免封装不完善带来的bug。
GoKit = Go + Kit,是由点九开源团队创建的Go语言工具集,“Go”是golang的表示,Kit表示工具包。
GoKit的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”代码的问题,彻底改变我们写代码的方式。
以计算MD5
为例:
GoKit的存在就是为了减少代码搜索成本,避免网络上参差不齐的代码出现导致的bug。
在Go项目的dependencies中加入以下内容:
go get github.com/dianjiu/gokit
以引入ip包下组件为例,调用GetLocalIPv4()方方法获取本地IP作为演示
package main
import (
"github.com/dianjiu/gokit/ip"
"log"
)
func main() {
ip := ip.GetLocalIPv4()
log.Printf("本机IP: %v\n", ip)
}
运行结果
2021/07/30 15:49:03 本机IP: 192.168.56.1
一个Go基础工具类,对文件、流、加密解密、转码、正则、JSON、UUID等方法进行封装,组成各种Go工具类,同时提供以下组件:
模块 | 介绍 |
---|---|
assertions | 断言处理工具类 |
bytes | byte字节转换工具类 |
caller | 获取函数名路径工具类 |
compress | 压缩、解压缩封装,提供tar和zip两种格式支持 |
file | 文件路径、文件是否存在、是否为文件夹等常用文件相关工具类 |
hello | GoKit的Hello World封装,提供SayHello()方法支持 |
http | http工具类,常用的Get、Post请求 |
ip | IP工具类 |
json | JSON操作实现 |
logger | 提供多种风险等级的日志输出封装 |
邮件发送工具类 | |
map | map集合工具类 |
poi | 针对POI中Excel和Word的封装 |
random | 随机数工具类 |
security | 提供MD5、AES、RSA等方式的加解密方法 |
set | set集合工具类 |
slice | 切片工具类 |
socket | 基于Go的NIO和AIO的Socket封装 |
string | string字符串工具类 |
system | 系统参数调用封装 |
time | 提供常用的日期工具类及日期格式化封装 |
uuid | uuid工具类 |
可以根据需求对每个模块单独引入使用,如下:
import (
"github.com/dianjiu/gokit/hello"
)
也可以通过引入GoKit
所有模块使用,如下:
import (
"github.com/dianjiu/gokit"
)
GoKit的源码分为两个分支,功能如下:
分支 | 作用 |
---|---|
master | 主分支,release版本使用的分支,与中央库提交一致,不接收任何pr或修改 |
dev | 开发分支,默认为下个版本的SNAPSHOT版本,接受修改或pr |
提交问题反馈请说明正在使用的Go版本、GoKit版本和相关依赖库版本。
邮件联系 dianjiu@dianjiu.cc 获取开发者账号
GoKit欢迎任何人为GoKit贡献代码,需要提交的pr(pull request)符合一些规范,规范如下:
dev
分支。master
是主分支,表示已经发布中央库的版本,这个分支不允许pr,也不允许修改。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。