util

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ForbiddenMethod = errors.New("forbidden method")

ForbiddenMethod 如果某个方法禁止被调用则可以抛出此错误。

View Source
var UnimplementedMethod = errors.New("unimplemented method")

UnimplementedMethod 如果某个方法未实现则可以抛出此错误。

View Source
var WrapFormat = func(err error, fileline string, format string, a ...interface{}) error {
	if err == nil {
		if format != "" {
			return fmt.Errorf(fileline+" "+format, a...)
		}
		return errors.New(fileline + " " + fmt.Sprint(a...))
	}
	if format == "" {
		return fmt.Errorf("%s %s; %w", fileline, fmt.Sprint(a...), err)
	}
	return fmt.Errorf("%s %s; %w", fileline, fmt.Sprintf(format, a...), err)
}

Functions

func Contract

func Contract(filename string, maxLength int) string

Contract 压缩 filename 的长度,超出的部分使用 ... 代替。

func Error

func Error(fileline string, text string) error

Error 创建携带文件信息的 error 对象。文件信息未来也许可以在编译期计算。

func Errorf

func Errorf(fileline string, format string, a ...interface{}) error

Errorf 创建携带文件信息的 error 对象。文件信息未来也许可以在编译期计算。

func HasReceiver

func HasReceiver(t reflect.Type, receiver reflect.Type) bool

HasReceiver 函数是否具有接收者。

func IsConstructor

func IsConstructor(t reflect.Type) bool

IsConstructor 返回以函数形式注册 bean 的函数是否合法。一个合法 的注册函数需要以下条件:入参可以有任意多个,支持一般形式和 Option 形式,返回值只能有一个或者两个,第一个返回值必须是 bean 源,它可以是 结构体等值类型也可以是指针等引用类型,为值类型时内部会自动转换为引用类 型(获取可引用的地址),如果有第二个返回值那么它必须是 error 类型。

func IsContextType

func IsContextType(t reflect.Type) bool

IsContextType t 是否是 context.Context 类型。

func IsErrorType

func IsErrorType(t reflect.Type) bool

IsErrorType t 是否是 error 类型。

func IsFuncType

func IsFuncType(t reflect.Type) bool

IsFuncType t 是否是 func 类型。

func IsNil

func IsNil(v reflect.Value) bool

IsNil 返回 v 的值是否为 nil,但是不会 panic 。

func IsPrimitiveValueType

func IsPrimitiveValueType(t reflect.Type) bool

IsPrimitiveValueType returns whether the input type is the primitive value type which only is int, unit, float, bool, string and complex.

func IsStructPtr

func IsStructPtr(t reflect.Type) bool

IsStructPtr 返回是否是结构体的指针类型。

func IsValidConverter

func IsValidConverter(t reflect.Type) bool

IsValidConverter 返回是否是合法的转换器类型。

func IsValueType

func IsValueType(t reflect.Type) bool

IsValueType returns whether the input type is the value type which is the primitive value type and their one dimensional composite type including array, slice, map and struct, such as [3]string, []string, []int, map[int]int, etc.

func ReturnNothing

func ReturnNothing(t reflect.Type) bool

ReturnNothing 函数是否无返回值。

func ReturnOnlyError

func ReturnOnlyError(t reflect.Type) bool

ReturnOnlyError 函数是否只返回错误值。

func T

func T(a ...interface{}) []interface{}

T 将可变参数转换成切片形式。

func Wrap

func Wrap(err error, fileline string, text string) error

Wrap 创建携带文件信息的 error 对象。文件信息未来也许可以在编译期计算。

func Wrapf

func Wrapf(err error, fileline string, format string, a ...interface{}) error

Wrapf 创建携带文件信息的 error 对象。文件信息未来也许可以在编译期计算。

Types

type Converter

type Converter interface{}

Converter converts string value into user-defined value. It should be function type, and its prototype is func(string)(type,error).

type PanicCond

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

PanicCond 封装触发 panic 的条件。

func NewPanicCond

func NewPanicCond(fn func() interface{}) *PanicCond

NewPanicCond PanicCond 的构造函数。

func Panic

func Panic(err error) *PanicCond

Panic 抛出一个异常值。

func (*PanicCond) When

func (p *PanicCond) When(isPanic bool)

When 满足给定条件时抛出一个 panic 。

Jump to

Keyboard shortcuts

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