util

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2025 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func BytesToString

func BytesToString(b []byte) string

BytesToString converts byte slice to string without a memory allocation. For more details, see https://github.com/golang/go/issues/53003#issuecomment-1140276077.

func CharSpliter

func CharSpliter(data []byte, atEOF bool) (advance int, token []byte, err error)

CharSpliter is the custom split function for bufio.Scanner.

func CheckErr

func CheckErr(err error)

CheckErr just check error and print it.

func CombineError added in v0.0.48

func CombineError(fns ...func() error) error

CombineError combine error from fns.

func Contains added in v0.0.47

func Contains[T comparable](slice []T, elem T) bool

Contains check T in slice.

func Depointer

func Depointer[T comparable](t *T) T

Depointer will return a T with given value.

func Deref added in v0.0.58

func Deref[T any](p *T) T

Deref returns the value pointed to by the pointer. If the pointer is nil, returns the zero value for the type.

func DerefOr added in v0.0.58

func DerefOr[T any](p *T, defaultVal T) T

DerefOr returns the value pointed to by the pointer. If the pointer is nil, returns the default value.

func FileExists added in v0.0.48

func FileExists(filename string) bool

FileExists check file exists.

func GetFdFromConn added in v0.2.0

func GetFdFromConn(c net.Conn) int

GetFdFromConn get net.Conn's file descriptor.

func GetFdFromListener added in v0.2.0

func GetFdFromListener(l net.Listener) int

GetFdFromListener get net.Listener's file descriptor.

func GetFunctionName

func GetFunctionName(x any) string

func HandleErr

func HandleErr(err error, notExit ...bool)

HandleErr will call os.Exit() when any error encountered.

func IndexedUUID

func IndexedUUID() string

func IsConnClosed added in v0.2.0

func IsConnClosed(err error) bool

func NoError added in v0.0.48

func NoError(fn func() error) error

NoError call fn and always return nil.

func ParseScheme

func ParseScheme(req *http.Request) string

func Ping

func Ping(ip string, timeout time.Duration) (bool, error)

Ping work like command `ping`. If target ip is reachable, return true, nil, If target ip is unreachable, return false, nil, If error encountered, return false, error. More usage see tests in `pkg/util/util_test.go`.

func Pointer

func Pointer[T comparable](t T) *T

Pointer will return a pointer to T with given value.

func RequestID

func RequestID() string

func Round added in v0.0.65

func Round[T float32 | float64](value T, precision uint) T

Round returns a rounded version of x with a specified precision.

The precision parameter specifies the number of decimal places to round to. Round uses the "round half away from zero" rule to break ties.

Examples:

Round(3.14159, 2) returns 3.14
Round(3.14159, 1) returns 3.1
Round(-3.14159, 1) returns -3.1
Example
fmt.Printf("%.3f\n", Round(3.14159, 3))
fmt.Printf("%.2f\n", Round(2.71828, 2))
fmt.Printf("%.1f\n", Round(-3.14159, 1))
Output:

3.142
2.72
-3.1

func RunOrDie

func RunOrDie(fn func() error)

RunOrDie will panic when error encountered.

func SafePointer

func SafePointer[T any](v T) T

func SplitByDoublePipe

func SplitByDoublePipe(data []byte, atEOF bool) (advance int, token []byte, err error)

SplitByDoublePipe is the custom split function for bufio.Scanner.

func StringAny

func StringAny(x any) string

StringAny format anything to string.

func StringToBytes

func StringToBytes(s string) []byte

StringToBytes convers string to byte slice without a memory allocation. For more details, see https://github.com/golang/go/issues/53003#issuecomment-1140276077.

func Tcping

func Tcping(host string, port int, timeout time.Duration) bool

_tcping work like command `tcping`.

func UUID

func UUID(prefix ...string) string

func ValueOf added in v0.0.58

func ValueOf[T any](v T) *T

ValueOf returns a pointer to the given value

Types

type Connection added in v0.2.0

type Connection struct {
	RemoteIP   string
	LocalIP    string
	RemotePort int
	LocalPort  int
}

func GetConnection added in v0.2.0

func GetConnection(conn net.Conn) Connection

Jump to

Keyboard shortcuts

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