do

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2023 License: MIT Imports: 1 Imported by: 4

README

do

Do something interesting.

Base Go1.18 with generic.

Must

Panic if error is not nil, otherwise return some result except the error.

package main

import (
	"fmt"

	"github.com/donnol/do"
)

func main() {
	do.Must(retErr()) // without result

	// specify result type with type parameter
	_ = do.Must1[int](retErrAndOneResult()) // with one result

	_, _ = do.Must2[int, int](retErrAndTwoResult()) // with two result
}

func retErr() error {
	return fmt.Errorf("a new error")
}

func retErrAndOneResult() (int, error) {
	return 1, fmt.Errorf("a new error")
}

func retErrAndTwoResult() (int, int, error) {
	return 0, 1, fmt.Errorf("a new error")
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MatchError

func MatchError(v any) bool

func Must

func Must(args ...any)

Must args的最后一个是非空错误时panic,无结果返回

func Must1

func Must1[T any](args ...any) (r T)

Must1 args的最后一个是非空错误时panic,返回1个结果

func Must2

func Must2[T1, T2 any](args ...any) (r1 T1, r2 T2)

Must2 args的最后一个是非空错误时panic,返回2个结果

func Must3

func Must3[T1, T2, T3 any](args ...any) (r1 T1, r2 T2, r3 T3)

Must3 args的最后一个是非空错误时panic,返回3个结果

func Must4

func Must4[T1, T2, T3, T4 any](args ...any) (r1 T1, r2 T2, r3 T3, r4 T4)

Must4 args的最后一个是非空错误时panic,返回4个结果

func Must5

func Must5[T1, T2, T3, T4, T5 any](args ...any) (r1 T1, r2 T2, r3 T3, r4 T4, r5 T5)

Must5 args的最后一个是非空错误时panic,返回5个结果

func NewError

func NewError[T any](inner T) error

Types

type Error

type Error[T any] struct {
	// contains filtered or unexported fields
}

func ConvertError

func ConvertError(v any) (*Error[*e], bool)

func (Error[T]) Error

func (e Error[T]) Error() string

func (Error[T]) Inner

func (e Error[T]) Inner() T

Directories

Path Synopsis
cmd
letgo Module

Jump to

Keyboard shortcuts

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