super

package
v0.0.14 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Handle added in v0.0.8

func Handle(f func())

Handle 执行 f 函数,如果 f 为 nil,则不执行

func HandleErr added in v0.0.8

func HandleErr(f func() error) error

HandleErr 执行 f 函数,如果 f 为 nil,则不执行

func HandleV added in v0.0.8

func HandleV[V any](v V, f func(v V))

HandleV 执行 f 函数,如果 f 为 nil,则不执行

func If

func If[T any](expression bool, t T, f T) T

func Retry added in v0.0.8

func Retry(count int, interval time.Duration, f func() error) error

Retry 根据提供的 count 次数尝试执行 f 函数,如果 f 函数返回错误,则在 interval 后重试,直到成功或者达到 count 次数

func RetryAsync added in v0.0.8

func RetryAsync(count int, interval time.Duration, f func() error, callback func(err error))

RetryAsync 与 Retry 类似,但是是异步执行

  • 传入的 callback 函数会在执行完毕后被调用,如果执行成功,则 err 为 nil,否则为错误信息
  • 如果 callback 为 nil,则不会在执行完毕后被调用

Types

type StackGo added in v0.0.13

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

StackGo 用于获取上一个协程调用的堆栈信息

  • 应当最先运行 Wait 函数,然后在其他协程中调用 Stack 函数或者 GiveUp 函数
  • 适用于跨协程同步通讯,例如单线程的消息处理统计耗时打印堆栈信息

func NewStackGo added in v0.0.13

func NewStackGo() *StackGo

NewStackGo 返回一个用于获取上一个协程调用的堆栈信息的收集器

func (*StackGo) GiveUp added in v0.0.13

func (slf *StackGo) GiveUp()

GiveUp 放弃收集消息堆栈

  • 在调用 Wait 函数后调用该函数,将会放弃收集消息堆栈并且释放资源
  • 在调用 GiveUp 函数后调用 Stack 函数,将会 panic

func (*StackGo) Stack added in v0.0.13

func (slf *StackGo) Stack() []byte

Stack 获取消息堆栈

  • 在调用 Wait 函数后调用该函数,将会返回上一个协程的堆栈信息
  • 在调用 GiveUp 函数后调用该函数,将会 panic

func (*StackGo) Wait added in v0.0.13

func (slf *StackGo) Wait()

Wait 等待收集消息堆栈

  • 在调用 Wait 函数后,当前协程将会被挂起,直到调用 Stack 或 GiveUp 函数

Jump to

Keyboard shortcuts

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