go_lib

package module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2025 License: Apache-2.0 Imports: 24 Imported by: 0

README

Go工具库 - PHP风格函数集合

这个Go库提供了类似PHP中常用的函数,让Go开发者能够更便捷地处理字符串、数组、时间、文件、HTTP请求、JSON和加密等操作。

功能模块

1. 字符串处理 (string_utils.go)
  • Explode(delimiter, str) - 分割字符串
  • Implode(delimiter, pieces) - 连接字符串数组
  • StrReplace(search, replace, subject) - 字符串替换
  • Substr(str, start, length) - 截取字符串
  • Strlen(str) - 字符串长度
  • Trim(str, cutset) - 去除首尾空格
  • Ucfirst(str) - 首字母大写
  • 更多字符串处理函数...
2. 数组/切片处理 (array_utils.go)
  • InArray(needle, haystack) - 检查值是否在数组中
  • ArrayUnique(arr) - 数组去重
  • ArrayMerge(arrays...) - 合并数组
  • ArraySlice(arr, offset, length) - 数组切片
  • ArraySort(arr) - 数组排序
  • ArrayFilter(arr, callback) - 数组过滤
  • 更多数组处理函数...
3. 时间处理 (time_utils.go)
  • Time() - 获取当前时间戳
  • Date(format, timestamp) - 格式化时间
  • Strtotime(timeStr) - 字符串转时间戳
  • DateAdd(timestamp, interval, amount) - 时间计算
  • DateDiff(timestamp1, timestamp2, format) - 时间差计算
  • 更多时间处理函数...
4. 文件处理 (file_utils.go)
  • FileExists(filename) - 检查文件是否存在
  • FileGetContents(filename) - 读取文件内容
  • FilePutContents(filename, data) - 写入文件
  • FileSize(filename) - 获取文件大小
  • Copy(source, dest) - 复制文件
  • Mkdir(dirname, mode) - 创建目录
  • 更多文件处理函数...
5. HTTP工具 (http_utils.go)
  • HttpGet(url, headers) - GET请求
  • HttpPost(url, data, headers) - POST请求
  • HttpPut(url, data, headers) - PUT请求
  • HttpDelete(url, headers) - DELETE请求
  • UrlEncode(str) - URL编码
  • ParseUrl(rawUrl) - 解析URL
  • 更多HTTP处理函数...
6. JSON处理 (json_utils.go)
  • JsonEncode(data) - JSON编码
  • JsonDecode(jsonStr) - JSON解码
  • JsonEncodePretty(data) - 格式化JSON编码
  • IsJson(str) - 检查是否为JSON
  • JsonMerge(json1, json2) - 合并JSON
  • JsonGetValue(jsonStr, key) - 获取JSON值
  • 更多JSON处理函数...
7. 加密工具 (crypto_utils.go)
  • Md5(data) - MD5哈希
  • Sha1(data) - SHA1哈希
  • Sha256(data) - SHA256哈希
  • Base64Encode(data) - Base64编码
  • Base64Decode(data) - Base64解码
  • HexEncode(data) - 十六进制编码
  • 更多加密函数...

使用示例

package main

import (
    "fmt"
    "go_lib"
)

func main() {
    // 字符串处理
    parts := go_lib.Explode(",", "a,b,c")
    fmt.Println(parts) // [a b c]
    
    // 数组处理
    unique := go_lib.ArrayUniqueString([]string{"a", "b", "a"})
    fmt.Println(unique) // [a b]
    
    // 时间处理
    timestamp := go_lib.Time()
    formatted := go_lib.Date("Y-m-d H:i:s", timestamp)
    fmt.Println(formatted)
    
    // JSON处理
    data := map[string]interface{}{"name": "test", "value": 123}
    jsonStr, _ := go_lib.JsonEncode(data)
    fmt.Println(jsonStr)
    
    // 加密处理
    hash := go_lib.Md5("hello")
    fmt.Println(hash)
    
    // HTTP请求
    resp := go_lib.HttpGet("https://api.example.com/data")
    if resp.Error == nil {
        fmt.Println(resp.Body)
    }
}

安装和使用

方法一:使用 go mod(推荐)
  1. 在您的Go项目中添加依赖

    go mod init your-project-name
    go get gitee.com/lzw7758/go_lib
    
  2. 在代码中导入和使用

    package main
    
    import (
        "fmt"
        "gitee.com/lzw7758/go_lib"
    )
    
    func main() {
        // 字符串处理
        parts := go_lib.Explode(",", "apple,banana,cherry")
        fmt.Println(parts) // [apple banana cherry]
    
        // 数组去重
        unique := go_lib.ArrayUniqueString([]string{"a", "b", "a", "c"})
        fmt.Println(unique) // [a b c]
    
        // MD5加密
        hash := go_lib.Md5("hello world")
        fmt.Println(hash) // 5d41402abc4b2a76b9719d911017c592
    }
    
方法二:直接下载使用
  1. 克隆仓库到本地

    git clone https://gitee.com/lzw7758/go_lib.git
    cd go_lib
    
  2. 复制到您的项目目录

    cp -r go_lib /path/to/your/project/libs/
    
  3. 在项目中使用相对路径导入

    import "./libs/go_lib"
    
方法三:作为Git子模块
# 在项目根目录执行
git submodule add https://gitee.com/lzw7758/go_lib.git vendor/go_lib
git submodule update --init --recursive
快速测试

克隆仓库后,可以直接运行示例:

git clone https://gitee.com/lzw7758/go_lib.git
cd go_lib/examples
go run test_all.go

特性

  • 🚀 类PHP函数风格,易于理解和使用
  • 🔧 涵盖常用的字符串、数组、时间、文件、HTTP、JSON、加密操作
  • 📦 模块化设计,可按需使用
  • 🛡️ 类型安全,包含错误处理
  • 📝 完整的使用示例

这个库让PHP开发者能够快速适应Go语言,同时为Go开发者提供了便捷的工具函数集合。

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Addslashes

func Addslashes(str string) string

func ArrayChunk

func ArrayChunk(arr []interface{}, size int) [][]interface{}

func ArrayChunkInt

func ArrayChunkInt(arr []int, size int) [][]int

func ArrayChunkString

func ArrayChunkString(arr []string, size int) [][]string

func ArrayFilter

func ArrayFilter(arr []interface{}, callback func(interface{}) bool) []interface{}

func ArrayKeys

func ArrayKeys(arr interface{}) []interface{}

func ArrayMap

func ArrayMap(arr []interface{}, callback func(interface{}) interface{}) []interface{}

func ArrayMax

func ArrayMax(arr []int) int

func ArrayMerge

func ArrayMerge(arrays ...[]interface{}) []interface{}

func ArrayMergeInt

func ArrayMergeInt(arrays ...[]int) []int

func ArrayMergeString

func ArrayMergeString(arrays ...[]string) []string

func ArrayMin

func ArrayMin(arr []int) int

func ArrayProduct

func ArrayProduct(arr []int) int

func ArrayProductFloat

func ArrayProductFloat(arr []float64) float64

func ArrayRand

func ArrayRand(arr []interface{}, num int) []interface{}

func ArrayReverse

func ArrayReverse(arr []interface{}) []interface{}

func ArrayReverseInt

func ArrayReverseInt(arr []int) []int

func ArrayReverseString

func ArrayReverseString(arr []string) []string

func ArrayRsort

func ArrayRsort(arr []int) []int

func ArrayRsortString

func ArrayRsortString(arr []string) []string

func ArraySearch

func ArraySearch(needle interface{}, haystack []interface{}) int

func ArrayShuffle

func ArrayShuffle(arr []interface{}) []interface{}

func ArraySlice

func ArraySlice(arr []interface{}, offset int, length ...int) []interface{}

func ArraySliceInt

func ArraySliceInt(arr []int, offset int, length ...int) []int

func ArraySliceString

func ArraySliceString(arr []string, offset int, length ...int) []string

func ArraySort

func ArraySort(arr []int) []int

func ArraySortString

func ArraySortString(arr []string) []string

func ArraySum

func ArraySum(arr []int) int

func ArraySumFloat

func ArraySumFloat(arr []float64) float64

func ArrayToJson

func ArrayToJson(arr interface{}) (string, error)

func ArrayUnique

func ArrayUnique(arr []interface{}) []interface{}

func ArrayUniqueInt

func ArrayUniqueInt(arr []int) []int

func ArrayUniqueString

func ArrayUniqueString(arr []string) []string

func ArrayValues

func ArrayValues(arr interface{}) []interface{}

func Base64Decode

func Base64Decode(data string) (string, error)

func Base64Encode

func Base64Encode(data string) string

func Base64UrlDecode

func Base64UrlDecode(data string) (string, error)

func Base64UrlEncode

func Base64UrlEncode(data string) string

func Basename

func Basename(path string, suffix ...string) string

func BuildQuery

func BuildQuery(data map[string]interface{}) string

func Chdir

func Chdir(dir string) error

func CheckDate

func CheckDate(month, day, year int) bool

func Chmod

func Chmod(filename string, mode os.FileMode) error

func Copy

func Copy(source, dest string) error

func Crc32

func Crc32(data string) uint32

func Crc32File

func Crc32File(filename string) (uint32, error)

func Date

func Date(format string, timestamp ...int64) string

func DateAdd

func DateAdd(timestamp int64, interval string, amount int) int64

func DateDiff

func DateDiff(timestamp1, timestamp2 int64, format string) int64

func Dirname

func Dirname(path string) string

func DiskFreeSpace

func DiskFreeSpace(directory string) (uint64, error)

func DiskTotalSpace

func DiskTotalSpace(directory string) (uint64, error)

func Explode

func Explode(delimiter, str string) []string

func FileAppendContents

func FileAppendContents(filename, data string) error

func FileExists

func FileExists(filename string) bool

func FileGetContents

func FileGetContents(filename string) (string, error)

func FileGetContentsUrl

func FileGetContentsUrl(urlStr string, headers ...map[string]string) (string, error)

func FilePerms

func FilePerms(filename string) (os.FileMode, error)

func FilePutContents

func FilePutContents(filename, data string) error

func FileReadLines

func FileReadLines(filename string) ([]string, error)

func FileSize

func FileSize(filename string) (int64, error)

func FileWriteLines

func FileWriteLines(filename string, lines []string) error

func Fileatime

func Fileatime(filename string) (int64, error)

func Filectime

func Filectime(filename string) (int64, error)

func Filemtime

func Filemtime(filename string) (int64, error)

func GetCwd

func GetCwd() (string, error)

func GetHeaders

func GetHeaders() map[string]string

func Glob

func Glob(pattern string) ([]string, error)

func Gmdate

func Gmdate(format string, timestamp ...int64) string

func Gmmktime

func Gmmktime(hour, minute, second, month, day, year int) int64

func Hash

func Hash(algorithm, data string) (string, error)

func HashFile

func HashFile(algorithm, filename string) (string, error)

func HexDecode

func HexDecode(data string) (string, error)

func HexEncode

func HexEncode(data string) string

func HttpBuildQuery

func HttpBuildQuery(data map[string]string) string

func Implode

func Implode(delimiter string, pieces []string) string

func InArray

func InArray(needle interface{}, haystack []interface{}) bool

func InArrayInt

func InArrayInt(needle int, haystack []int) bool

func InArrayString

func InArrayString(needle string, haystack []string) bool

func IsDir

func IsDir(filename string) bool

func IsFile

func IsFile(filename string) bool

func IsJson

func IsJson(str string) bool

func IsJsonArray

func IsJsonArray(str string) bool

func IsJsonObject

func IsJsonObject(str string) bool

func JsonDecode

func JsonDecode(jsonStr string) (interface{}, error)

func JsonDecodeArray

func JsonDecodeArray(jsonStr string) ([]interface{}, error)

func JsonDecodeMap

func JsonDecodeMap(jsonStr string) (map[string]interface{}, error)

func JsonDecodeStruct

func JsonDecodeStruct(jsonStr string, v interface{}) error

func JsonDeleteKey

func JsonDeleteKey(jsonStr, key string) (string, error)

func JsonEncode

func JsonEncode(data interface{}) (string, error)

func JsonEncodePretty

func JsonEncodePretty(data interface{}) (string, error)

func JsonEscape

func JsonEscape(str string) string

func JsonGetValue

func JsonGetValue(jsonStr, key string) (interface{}, error)

func JsonHasKey

func JsonHasKey(jsonStr, key string) bool

func JsonKeys

func JsonKeys(jsonStr string) ([]string, error)

func JsonLength

func JsonLength(jsonStr string) (int, error)

func JsonMerge

func JsonMerge(json1, json2 string) (string, error)

func JsonSetValue

func JsonSetValue(jsonStr, key string, value interface{}) (string, error)

func JsonToArray

func JsonToArray(jsonStr string) ([]interface{}, error)

func JsonToStruct

func JsonToStruct(jsonStr string, target interface{}) error

func JsonUnescape

func JsonUnescape(str string) (string, error)

func JsonValues

func JsonValues(jsonStr string) ([]interface{}, error)

func Ltrim

func Ltrim(str string, cutset ...string) string

func Md5

func Md5(data string) string

func Md5File

func Md5File(filename string) (string, error)

func Microtime

func Microtime() float64

func Mkdir

func Mkdir(dirname string, mode os.FileMode) error

func Mktime

func Mktime(hour, minute, second, month, day, year int) int64

func Nl2br

func Nl2br(str string) string

func ParseUrl

func ParseUrl(rawUrl string) (*url.URL, error)

func Pathinfo

func Pathinfo(path string) map[string]string

func Readdir

func Readdir(dirname string) ([]string, error)

func Realpath

func Realpath(path string) (string, error)

func Rename

func Rename(oldname, newname string) error

func Rmdir

func Rmdir(dirname string) error

func Rtrim

func Rtrim(str string, cutset ...string) string

func Scandir

func Scandir(dirname string) ([]os.DirEntry, error)

func Sha1

func Sha1(data string) string

func Sha1File

func Sha1File(filename string) (string, error)

func Sha256

func Sha256(data string) string

func Sha256File

func Sha256File(filename string) (string, error)

func Sha512

func Sha512(data string) string

func Sha512File

func Sha512File(filename string) (string, error)

func Sleep

func Sleep(seconds int)

func StrPad

func StrPad(input string, padLength int, padString string, padType int) string

func StrRepeat

func StrRepeat(input string, multiplier int) string

func StrReplace

func StrReplace(search, replace, subject string) string

func StrReplaceArray

func StrReplaceArray(search, replace []string, subject string) string

func StrShuffle

func StrShuffle(str string) string

func StrWordCount

func StrWordCount(str string) int

func StripTags

func StripTags(str string) string

func Stripslashes

func Stripslashes(str string) string

func Strlen

func Strlen(str string) int

func Strpos

func Strpos(haystack, needle string) int

func Strrchr

func Strrchr(haystack, needle string) string

func Strrpos

func Strrpos(haystack, needle string) int

func Strstr

func Strstr(haystack, needle string) string

func Strtolower

func Strtolower(str string) string

func Strtotime

func Strtotime(timeStr string) int64

func Strtoupper

func Strtoupper(str string) string

func StructToJson

func StructToJson(data interface{}) (string, error)

func Substr

func Substr(str string, start int, length ...int) string

func TempName

func TempName(dir, prefix string) (string, error)

func Time

func Time() int64

func Touch

func Touch(filename string) error

func Trim

func Trim(str string, cutset ...string) string

func Ucfirst

func Ucfirst(str string) string

func Ucwords

func Ucwords(str string) string
func Unlink(filename string) error

func UrlDecode

func UrlDecode(str string) (string, error)

func UrlEncode

func UrlEncode(str string) string

func Usleep

func Usleep(microseconds int)

Types

type HttpResponse

type HttpResponse struct {
	StatusCode int
	Headers    map[string][]string
	Body       string
	Error      error
}

func HttpDelete

func HttpDelete(urlStr string, headers ...map[string]string) *HttpResponse

func HttpGet

func HttpGet(urlStr string, headers ...map[string]string) *HttpResponse

func HttpPost

func HttpPost(urlStr string, data interface{}, headers ...map[string]string) *HttpResponse

func HttpPut

func HttpPut(urlStr string, data interface{}, headers ...map[string]string) *HttpResponse

func HttpRequest

func HttpRequest(method, urlStr string, data interface{}, headers ...map[string]string) *HttpResponse

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL