Socket
Book a DemoInstallSign in
Socket

github.com/88250/gulu

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/88250/gulu

v1.2.2
Source
Go
Version published
Created
Source

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版 开源协议。

🙏 鸣谢

FAQs

Package last updated on 11 Jun 2022

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.