package global import ( "context" "time" ) // 生成一个超时时间为5秒的倍率的上下文,如果不传递任何值,默认生成6倍的上下文,即超时时间为30秒。 func TimeoutContext(multiply ...int64) (context.Context, context.CancelFunc) { var ratio int64 = 6 if len(multiply) > 0 { ratio = multiply[0] } timeout := time.Duration(ratio*5) * time.Second return context.WithTimeout(context.Background(), timeout) }