z

package module
v0.0.0-...-4e565d7 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2018 License: Apache-2.0 Imports: 30 Imported by: 3

README

zgo

提供一组 golang 的帮助函数集合,本项目是个代码库

安装

自动安装

go get github.com/nutzam/zgo

手动安装

自己手动从 github 下载代码后,放置在你的 $GOPATH 的 src/github.com/nutzam/zgo 目录下

go install github.com/nutzam/zgo

安装成功的标志

请检查你的 $GOPATH 是不是

$GOPATH
	[src]
		[github.com]
			[nutzam]
				[zgo]           # <- 这里是下载下来的源码
					REAME.md
					disk.go
					…
	[pkg]
		[github.com]
			[nutzam]
				zgo.a           # <- 这里是编译好的包

在你的项目里使用

在你的项目里你就能正常使用这个代码库了,具体如何使用,请参看 godoc

package main

import (
	"fmt"
	z "github.com/nutzam/zgo"
)

func main() {
	fmt.Println(z.Ph("~/my.txt"))
}

Documentation

Index

Constants

View Source
const (
	ICMP_ECHO_REQUEST = 8
	ICMP_ECHO_REPLY   = 0
)
View Source
const FORMAT_DATE string = "2006-01-02"
View Source
const FORMAT_DATE_TIME string = "2006-01-02 15:04:05"
View Source
const REX_DATE string = "" /* 187-byte string literal not displayed */

yyyy-MM-dd

View Source
const REX_DATE_TIME string = "" /* 238-byte string literal not displayed */

yyyy-MM-dd hh:mm:ss

View Source
const REX_FLOAT string = "^(-?)(\\d+)\\.(\\d+)$"

正负浮点数

View Source
const REX_INT string = "^(-?)(\\d+)$"

正负整数

Variables

This section is empty.

Functions

func AlignLeft

func AlignLeft(str string, width int, char byte) string

填充字符串右侧一定数量的特殊字符

func AlignRight

func AlignRight(str string, width int, char byte) string

填充字符串左侧一定数量的特殊字符

func ByteToJson

func ByteToJson(data *[]byte) (*simplejson.Json, error)

将Byte转换为一个simplejson.Json对象指针返回

func CopyFile

func CopyFile(src, dst string) (err error)

拷贝文件

func CreateZip

func CreateZip(path, ph string) error

创建压缩文件

func DAoffSec

func DAoffSec(t time.Time, off int) int

获取某个时间当天的绝对秒数

func DAsec

func DAsec(off int) int

获取当天的绝对秒数,根据当前时间 +n

func DebugOff

func DebugOff()

func DebugOn

func DebugOn()

func DebugPrint

func DebugPrint(a ...interface{}) (n int, err error)

func DebugPrintf

func DebugPrintf(format string, a ...interface{}) (n int, err error)

func DebugPrintln

func DebugPrintln(a ...interface{}) (n int, err error)

func DirFileNum

func DirFileNum(ph string) int

文件夹中文件个数,单层目录

func DirName

func DirName(path string) string

获取路径目录

func DirSize

func DirSize(path string) int64

目录大小

func Dup

func Dup(str string, num int) string

复制字符串

func DupChar

func DupChar(char byte, num int) string

复制字符

func Exists

func Exists(name string) bool

判断一个路径是否存在

func ExistsDir

func ExistsDir(name string) bool

判断一个路径是否存在,不存在则创建

func ExistsF

func ExistsF(name string, callback func(os.FileInfo) bool) bool

判断一个路径是否存在,且允许附加条件

func ExistsFile

func ExistsFile(aph string) bool

判断一个文件是否存在,不存在则创建

func ExistsIsDir

func ExistsIsDir(name string) bool

判断一个路径文件是否存在,且不是文件夹

func ExistsIsFile

func ExistsIsFile(name string) bool

判断一个路径文件是否存在,且不是文件夹

func FWrite

func FWrite(path string, data []byte) error

强制覆盖写入文件

func FcheckParents

func FcheckParents(aph string)

确保某个路径的父目录存在

func Fexists

func Fexists(ph string) bool

是否存在某一路径

func Fi

func Fi(ph string) os.FileInfo

便利的获得 FileInfo 对象的方法

func Fif

func Fif(f *os.File) os.FileInfo

便利的获得 FileInfo 对象的方法

func FileA

func FileA(ph string) *os.File

调用者将负责关闭文件

func FileAF

func FileAF(ph string, callback func(*os.File))

用回调的方式打文件以便追加内容,回调函数不需要关心文件关闭等问题

func FileO

func FileO(ph string, flag int) *os.File

自定义模式打开文件 如果有错误,将打印 log 并返回 nil 调用者将负责关闭文件

func FileOF

func FileOF(ph string, flag int, callback func(*os.File))

用自定义的模式打文件以便替换内容,回调函数不需要关心文件关闭等问题

func FileR

func FileR(ph string) *os.File

将从自己磁盘目录,只读的方式打开一个文件。如果文件不存在,或者打开错误,则返回 nil。 如果有错误,将打印 log

调用者将负责关闭文件

func FileRF

func FileRF(ph string, callback func(*os.File))

用回调的方式打文件以便读取内容,回调函数不需要关心文件关闭等问题

func FileType

func FileType(name string) string

通过文件结尾读取类型

func FileW

func FileW(ph string) *os.File

打开一个文件准备复写内容,如果文件不存在,则创建它 如果有错误,将打印 log

调用者将负责关闭文件

func FileWF

func FileWF(ph string, callback func(*os.File))

用回调的方式打文件以便复写内容,回调函数不需要关心文件关闭等问题

func FindDirHeadFile

func FindDirHeadFile(ph string, head string) string

遍历目录,尝试寻找指定开头文件

func Finger

func Finger(h hash.Hash, ph string) string

将磁盘某个文件按照某种算法计算成加密指纹

func Fmove

func Fmove(frompath, topath string) error

移动文件或文件夹

func Fnew

func Fnew(ph string) error

创建一个空文件,如果文件已存在,返回 false

func Fremove

func Fremove(ph string) (err error)

Remove 文件

func Fsz

func Fsz(ph string) int64

便利的获得文件大小的方法

func Fszf

func Fszf(f *os.File) int64

便利的获得文件大小的方法

func GetIntMac

func GetIntMac(v string) string

func GetMac

func GetMac() string

获取本地MAC地址,只限Linux系统

func GetTime

func GetTime() string

获得当前系统时间

func ImageDrawRGBA

func ImageDrawRGBA(img *image.RGBA, imgcode image.Image, x, y int)

将图片绘制到图片

func ImageDrawRGBAOffSet

func ImageDrawRGBAOffSet(img *image.RGBA, imgcode image.Image, r image.Rectangle, x, y int)

将图片绘制到图片

func ImageEncodeJPEG

func ImageEncodeJPEG(ph string, img image.Image, option int) error

JPEG将编码生成图片 选择编码参数,质量范围从1到100,更高的是更好 &jpeg.Options{90}

func ImageEncodePNG

func ImageEncodePNG(ph string, img image.Image) error

PNG将编码生成图片

func ImageJPEG

func ImageJPEG(ph string) (image.Image, error)

读取JPEG图片返回image.Image对象

func ImagePNG

func ImagePNG(ph string) (image.Image, error)

读取PNG图片返回image.Image对象

func ImageRGBA

func ImageRGBA(width, height int) *image.RGBA

按照分辨率创建一张空白图片对象

func IndexOfBytes

func IndexOfBytes(array []byte, one byte) int

返回byte(char)在数组中的位置

func IndexOfStrings

func IndexOfStrings(array []string, one string) int

返回字符串在数组中的位置

func InterfaceToJson

func InterfaceToJson(data *interface{}) (*simplejson.Json, error)

将一个interface{}转换为一个simplejson.Json对象指针返回

func IsBlank

func IsBlank(s string) bool

判断一个字符串是不是空白串,即(0x00 - 0x20 之内的字符均为空白字符)

func IsDebugOn

func IsDebugOn() bool

func IsInStrings

func IsInStrings(array []string, one string) bool

判断字符串是否在数组中

func IsSpace

func IsSpace(c byte) bool

是不是空字符

func JsonDecode

func JsonDecode(r io.Reader, v interface{}) error

解析 JSON,如果出错,则打印错误

func JsonFromBytes

func JsonFromBytes(bs []byte, v interface{}) error

解析 JSON,如果出错,则打印错误

func JsonFromString

func JsonFromString(str string, v interface{}) error

将 JSON 字符串转换成一个对象

func LinuxBash

func LinuxBash(sh string) error

运行系统命令,只限Linux系统

func LinuxCmd

func LinuxCmd(sh string) error

运行命令脚本,只限Linux系统

func MD5

func MD5(ph string) string

计算一个文件的 MD5 指纹, 文件路径为磁盘绝对路径

func Mkdir

func Mkdir(ph string) error

创建一个目录,如果目录存在或者创建成功,返回 true,否则返回 false

func NoError

func NoError(err error)

本方法确保没错错误,如果有错误,则强制退出整个程序

func PPread

func PPread(r io.Reader) (pp map[string]string)

从一个流中解析一个 Nutz 的多行 properties 文件内容 这个流必须是 utf-8

func PPreadf

func PPreadf(ph string) map[string]string

根据一个文件路径,解析 Nutz 的多行 properties 文件。 这个文件必须是 utf-8

func ParseDate

func ParseDate(dstr string) time.Time

func ParseDateTime

func ParseDateTime(dtstr string) time.Time

func Ph

func Ph(ph string) string

根据给定路径获取绝对路径,可以支持 ~ 作为主目录

func Ping

func Ping(addr string, i int) bool

Ping

func Properties

func Properties(ph string) map[string]string

读取多行属性文件,并将其变成一个 map,如果文件不存在,返回一个空 map

func RandomSHA1

func RandomSHA1() string

通过唯一时间的字符串,返回唯一的SHA1哈希

func Range

func Range(str string, start, end int) string

字符串

func RemoveAll

func RemoveAll(ph string) error

删除一个文件,或者文件夹,如果该路径不存在,返回 false。 如果是文件夹,递归删除

func SBlank

func SBlank(s, dft string) string

如果输入的字符串为空串,那么返回默认字符串

func SplitIgnoreBlank

func SplitIgnoreBlank(s, sep string) []string

拆分字符串数组,如果数组元素为空白,忽略,否则则 Trim 空白

func StrSHA1

func StrSHA1(data string) string

对字符串进行SHA1哈希

func StringBuilder

func StringBuilder() *strBuilder

提供一个类似java中stringBuilder对象,支持链式调用(不返回错误信息,直接panic) str := SBuilder().Append("abc=123").Append('\n').String() TODO 等着测试下性能,看看用字符数组来实现是不是效率高些

func ToFloat

func ToFloat(data string, reData float64) float64

字符串转Float

func ToInt

func ToInt(s string, dft int) int

将字符串转换成整数,如果转换失败,采用默认值

func ToInt64

func ToInt64(s string, dft int64) int64

将字符串转换成整数,如果转换失败,采用默认值

func Trim

func Trim(s string) string

去掉一个字符串左右的空白串,即(0x00 - 0x20 之内的字符均为空白字符) 与strings.TrimSpace功能一致

func TrimBytes

func TrimBytes(bs []byte) string

去掉一个字符串左右的空白串,即(0x00 - 0x20 之内的字符均为空白字符)

func TrimExtraSpace

func TrimExtraSpace(s string) string

Trim并且去掉中间多余的空白(多个空白变一个空白) 比如 " a b c d e" -> "a b c d e"

func UU

func UU() string

生成一个 UUID 字符串(小写,去掉减号),需要系统支持 "uuidgen" 命令 返回的字符串格式如 "1694108edc6348b08364e604dee1bf35"

func UU16

func UU16() string

生成一个 UUID 字符串(小写),需要系统支持 "uuidgen" 命令 返回的字符串格式如 "1694108e-dc63-48b0-8364-e604dee1bf35"

func UnixMsSec

func UnixMsSec(off int) int64

获取本地事件毫秒

func UnixNano

func UnixNano() string

获取本地时间戳纳秒,以字符串格式返回

func Untar

func Untar(file, path string) error

解压Tar文件

func Utf8

func Utf8(bs []byte) (str string, err error)

将一个字节数组转换成 utf-8 字符串

func Utf8f

func Utf8f(ph string) (str string, err error)

按照 UTF8 格式化,将一个磁盘上的文件读成字符串

func Utf8r

func Utf8r(r io.Reader) (str string, err error)

按照 UTF8 格式,将流的内容读成字符串

Types

type BeeMap

type BeeMap struct {
	// contains filtered or unexported fields
}

func NewBeeMap

func NewBeeMap() *BeeMap

func (*BeeMap) Check

func (m *BeeMap) Check(k interface{}) bool

Returns true if k is exist in the map.

func (*BeeMap) Delete

func (m *BeeMap) Delete(k interface{})

func (*BeeMap) Get

func (m *BeeMap) Get(k interface{}) interface{}

Get from maps return the k's value

func (*BeeMap) Set

func (m *BeeMap) Set(k interface{}, v interface{}) bool

Maps the given key and value. Returns false if the key is already in the map and changes nothing.

type Region

type Region struct {
	Left      interface{}
	Right     interface{}
	LeftOpen  bool
	RightOpen bool
	// contains filtered or unexported fields
}

func MakeRegion

func MakeRegion(rstr string) *Region

func (*Region) HasLeft

func (r *Region) HasLeft() bool

func (*Region) HasRight

func (r *Region) HasRight() bool

func (*Region) LeftDate

func (r *Region) LeftDate() time.Time

func (*Region) LeftFloat

func (r *Region) LeftFloat() float32

func (*Region) LeftFloat64

func (r *Region) LeftFloat64() float64

func (*Region) LeftInt

func (r *Region) LeftInt() int

func (*Region) LeftLong

func (r *Region) LeftLong() int64

func (*Region) RightDate

func (r *Region) RightDate() time.Time

func (*Region) RightFloat

func (r *Region) RightFloat() float32

func (*Region) RightFloat64

func (r *Region) RightFloat64() float64

func (*Region) RightInt

func (r *Region) RightInt() int

func (*Region) RightLong

func (r *Region) RightLong() int64

func (*Region) String

func (r *Region) String() string

Jump to

Keyboard shortcuts

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