Skip to content
/ gulu Public

⭕ Go 语言常用工具库,这个轱辘还算圆!

License

Notifications You must be signed in to change notification settings

88250/gulu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gulu

Go 语言常用工具库,这个轱辘还算圆!




💡 简介

Gulu 是一款 Go 语言常用工具库。

欢迎到 Gulu 官方讨论区了解更多。同时也欢迎关注 B3log 开源社区微信公众号 B3log开源

b3logos.jpg

✨ 功能

文件操作 gulu.File

  • 获取文件大小
  • 判断路径是否存在
  • 判断文件是否是图片
  • 按内容判断文件是否是可执行二进制
  • 判断文件是否是目录
  • 复制文件
  • 复制目录

Go 语言 gulu.Go

  • 获取 Go API 源码目录路径
  • 判断指定路径是否在 Go API 源码目录下
  • 获取格式化工具名 ["gofmt", "goimports"]
  • 获取 $GOBIN 下指定可执行程序名的绝对路径

日志记录 gulu.Log

  • 提供可指定日志级别的日志记录器

网络相关 gulu.Net

  • 获取本机第一张网卡的 IP 地址
  • 获取本机第一张网卡的 MAC 地址

操作系统 gulu.OS

  • 判断是否是 Windows
  • 判断是否是 Linux
  • 判断是否是 Darwin
  • 获取当前进程的工作目录
  • 获取用户 Home 目录路径

panic 处理 gulu.Panic

  • 包装 recover() 提供更好的报错日志格式

随机数 gulu.Rand

  • 随机字符串
  • 随机整数

返回值 gulu.Ret

  • 提供普适返回值结构

Rune gulu.Rune

  • 判断 rune 是否为数字或字母
  • 判断 rune 是否为字母

字符串 gulu.Str

  • 字符串是否包含在字符串数组中
  • 字符串忽略大小写批量查找替换
  • 字符串忽略大小写批量查找环绕
  • 求最长公共子串
  • 考虑 Rune 的字符串指定长度子串

Zip 压缩解压 gulu.Zip

  • Zip 压缩和解压

🗃 案例

  • Pipe:一款小而美的博客平台,专为程序员设计
  • Wide:一款基于 Web 的 Go 语言 IDE,随时随地玩 golang
  • BND:一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac
  • 协慌网:专注编程问答汉化
  • 链滴笔记:一款桌面端笔记应用,支持 Windows、Mac 和 Linux

💝 贡献

Gulu 肯定有一些不足之处:

  • 代码不够优美
  • 文档不够清晰
  • 功能不够完善
  • 可能存在缺陷
  • ……

希望大家能和我们一起来完善该项目,无论是提交需求建议还是代码改进,我们都非常欢迎!

🏘️ 社区

📄 授权

Gulu 使用 木兰宽松许可证, 第2版 开源协议。

🙏 鸣谢