gookit/goutil - Go一些常用的工具函式實現、增強、收集和整理

Inhere發表於2022-06-09

gookit/goutil Go 常用的一些工具函式,數字,字串,陣列,Map,檔案,錯誤,時間日期,特殊處理,格式化,常用資訊獲取等等

內建工具包

  • arrutil array/slice 相關操作的函式工具包. 如:型別轉換,元素檢查等等
  • dump 簡單的變數列印工具,列印 slice, map 會自動換行顯示每個元素,同時會顯示列印呼叫位置
  • cliutil CLI 的一些工具函式包. eg: read input, exec command, cmdline parse/build
  • errorx 為 go 提供增強的錯誤實現,允許帶有堆疊跟蹤資訊和包裝另一個錯誤。
  • envutil ENV 資訊獲取判斷工具包. eg: get one, get info, parse var
  • fsutil 檔案系統操作相關的工具函式包. eg: file and dir check, operate
  • maputil map 相關操作的函式工具包. eg: convert, sub-value get, simple merge
  • mathutil, numutil int/number 相關操作的函式工具包. eg: convert, math calc, random
  • netutil/httpreq 包裝 http.Client 實現的更加易於使用的HTTP客戶端
  • strutil string 相關操作的函式工具包. eg: bytes, check, convert, encode, format and more
  • sysutil system 相關操作的函式工具包. eg: sysenv, exec, user, process
  • testutil test help 相關操作的函式工具包. eg: http test, mock ENV value
  • timex 提供增強的 time.Time 實現。新增更多常用的功能方法
    • 例如: DayStart(), DayAfter(), DayAgo(), DateFormat() 等等

Git 倉庫

goutil/dump

goutil/dump - 是一個golang資料列印工具包,可以列印出漂亮易讀的go slice, map, struct資料。

image

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:59

tx.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 github.com/gookit/goutil/blob/mast...

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章