Socket
Book a DemoInstallSign in
Socket

toscode.gitee.com/kimmking/go-hutool

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

toscode.gitee.com/kimmking/go-hutool

v0.0.0-20200219082006-81f09a275c3b
Go
Version published
Created
Source

简介

GoHutool是一个Go工具包,也只是一个工具包,它帮助我们聚合简化每一行代码,减少每一个方法,让Go语言也可以“甜甜的”。它最初是作者项目中“util”包的一个整理,后来慢慢积累并加入更多非业务相关功能,并广泛学习其它开源项目精髓,经过自己整理修改,最终形成丰富的开源工具集。

GoHutool是Go + Hu + tool的自造词,谐音“够糊涂”,寓意,追求“凡事够糊涂,无所谓得失”的境界。

GoHutool如何改变我们的coding方式

GoHutool的目标是使用一个工具方法代替一段复杂代码,从而最大限度的避免“复制粘贴”代码的问题,彻底改变我们写代码的方式。

以计算MD5为例:

  • 【以前】打开百度 -> 搜“Go MD5加密” -> 打开某篇博客-> 复制粘贴 -> 改改好用
  • 【现在】引入GoHutool -> SecureUtil.md5()

同样,当我们想实现什么功能,脑袋中第一个想到的就是去找XXXUtil,而非百度。

包名规范

由于包名大同小异,为了不影响后期的阅读,和采用。并尊重各个Go爱好者,大量集中营聚合起来。 包名位置样例:

go-hutool-parents
├── go-hutool-log -- 自动识别日志实现的日志门面
├    └── main -- 主要
├    ├    └── cn -- 域名后缀
├    ├    ├    └── gohutool -- 域名
├    ├    ├    ├    └── log -- 主要模块
### 项目命名规则
语言-工具-模块-[分类]
go-hutool-log

### 包名命名规则
cn.公司.部门.功能分类.模块
cn.gohutool.log.X

包含组件

一个Go基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装,组成各种Util工具类,同时提供以下组件:

  • go-hutool-aop JDK动态代理封装,提供非IOC下的切面支持
  • go-hutool-bloomFilter 布隆过滤,提供一些Hash算法的布隆过滤
  • go-hutool-cache 简单缓存实现
  • go-hutool-core 核心,包括Bean操作、日期、各种Util等
  • go-hutool-cron 定时任务模块,提供类Crontab表达式的定时任务
  • go-hutool-crypto 加密解密模块,提供对称、非对称和摘要算法封装
  • go-hutool-db JDBC封装后的数据操作,基于ActiveRecord思想
  • go-hutool-dfa 基于DFA模型的多关键字查找
  • go-hutool-extra 扩展模块,对第三方封装(模板引擎、邮件、Servlet、二维码、Emoji、FTP、分词等)
  • go-hutool-http 基于HttpUrlConnection的Http客户端封装
  • go-hutool-log 自动识别日志实现的日志门面【整合】
  • go-hutool-script 脚本执行封装,例如goscript
  • go-hutool-setting 功能更强大的Setting配置文件和Properties封装
  • go-hutool-system 系统参数调用封装(JVM信息等)
  • go-hutool-json JSON实现
  • go-hutool-captcha 图片验证码实现
  • go-hutool-poi 针对POI中Excel的封装
  • go-hutool-socket 基于go的NIO和AIO的Socket封装
  • go-hutool-pinyin Go 语言的汉语拼音合集包【整合】

可以根据需求对每个模块单独引入,也可以通过引入go-hutool-all方式引入所有模块。

文档

安装

编译安装

添砖加瓦

提供bug反馈或建议

遵照的原则

GoHutool欢迎任何人为GoHutool添砖加瓦,贡献代码,不过作者是一个强迫症患者,为了照顾病人,需要提交的pr(pull request)符合一些规范,规范如下:

  • 注释完备,尤其每个新增的方法应按照go文档规范标明方法说明、参数说明、返回值说明等信息,如果愿意,也可以加上你的大名。
  • GoHutool的缩进按照Eclipse(不要跟我说IDEA多好用,作者非常懒,学不会)默认(tab)缩进,所以请遵守(不要和我争执空格与tab的问题,这是一个病人的习惯)。
  • 新加的方法不要使用第三方库的方法,Hutool遵循无依赖原则(除非在extra模块中加方法工具)。
  • 请pull request到v4-dev分支。Hutool在4.x版本后使用了新的分支:v4-master是主分支,表示已经发布中央库的版本,这个分支不允许pr,也不允许修改。v4-dev分支是开发分支,Hutool的下个版本或者SNAPSHOT版本在这个分支上开发,你可以pr到这个分支。

贡献代码的步骤

  • 在Gitee或者Github上fork项目到自己的repo
  • 把fork过去的项目也就是你的项目clone到你的本地
  • 修改代码(记得一定要修改v4-dev分支)
  • commit后push到自己的库(v4-dev分支)
  • 登录Gitee或Github在你首页可以看到一个 pull request 按钮,点击它,填写一些说明信息,然后提交即可。
  • 等待作者合并

捐赠

如果你觉得GoHutool不错,可以捐赠请作者吃包辣条~,在此表示感谢^_^。

点击以下链接,将页面拉到最下方点击“捐赠”即可。

FAQs

Package last updated on 19 Feb 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.