converter

package module
v2.0.3 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2022 License: MIT Imports: 5 Imported by: 4

Documentation

Overview

Le paquet converter fournit des fonctions utiles pour convertir tout type de données.

Index

Constants

This section is empty.

Variables

Functions

func Clone

func Clone[T any](e T, deep ...bool) T

Clone retourne une copie de l’élément fournit en paramètre. Si deep est fourni et vaut true, le clonage s’effectue récursivement.

func CloneInterface

func CloneInterface(e any, deep ...bool) any

CloneInterface est l’équivalent rapide de Clone si la valeur de sortie n’a pas besoin d’être typée.

func Convert

func Convert(src, dest any, safe ...bool) bool

Convert convertit la valeur du paramètre source vers le paramètre destination et retourne true si l’opération s’est effectuée avec succès. La destination doit être un pointeur, afin de pouvoir modifier sa valeur. Si le paramètre optionnel safe est fourni et vaut true, la destination n’est modifiée que si son type est équivalent à celui de la source (par exemple int vers int64, mais pas int vers string).

func Is

func Is(e any, k Kind) bool

Is vérifie si la valeur e a un type appartenant à l’ensemble de sortes de types donné.

func IsArray

func IsArray(e any) bool

func IsBool

func IsBool(e any) bool

func IsByte

func IsByte(e any) bool

func IsChan

func IsChan(e any) bool

func IsChar

func IsChar(e any) bool

func IsComplex

func IsComplex(e any) bool

func IsFloat

func IsFloat(e any) bool

func IsFunc

func IsFunc(e any) bool

func IsInt

func IsInt(e any) bool

func IsInteger

func IsInteger(e any) bool

func IsInterface

func IsInterface(e any) bool

func IsInvalid

func IsInvalid(e any) bool

func IsMap

func IsMap(e any) bool

func IsNil

func IsNil(e any) bool

func IsNillable

func IsNillable(e any) bool

func IsNumber

func IsNumber(e any) bool

func IsPointer

func IsPointer(e any) bool

func IsReal

func IsReal(e any) bool

func IsRune

func IsRune(e any) bool

func IsSet

func IsSet(e any) bool

func IsSlice

func IsSlice(e any) bool

func IsString

func IsString(e any) bool

func IsStruct

func IsStruct(e any) bool

func IsUint

func IsUint(e any) bool

func IsZero

func IsZero(e any) bool

func SetZero

func SetZero(dst any) bool

SetZero réinitialise la variable pointée par le paramètre d’entrée à sa valeur initiale

func ToBool

func ToBool[T BoolType](src any, def ...T) T

func ToChar

func ToChar[T CharType](src any, def ...T) T

func ToComplex

func ToComplex[T ComplexType](src any, def ...T) T

func ToFloat

func ToFloat[T FloatType](src any, def ...T) T

func ToInt

func ToInt[T IntType](src any, def ...T) T

func ToMap

func ToMap[K comparable, V any](src any, def ...map[K]V) (dest map[K]V)

func ToSet

func ToSet[K comparable](src any, def ...map[K]struct{}) map[K]struct{}

func ToSlice

func ToSlice[T any](src any, def ...T) (dest []T)

func ToString

func ToString[T StringType](src any, def ...T) T

func ToUint

func ToUint[T UintType](src any, def ...T) T

Types

type BoolType

type BoolType interface {
	~bool
}

type CharType

type CharType interface {
	~byte | ~rune
}

type ComplexType

type ComplexType interface {
	~complex64 | ~complex128
}

type FloatType

type FloatType interface {
	~float32 | ~float64
}

type IntType

type IntType interface {
	~int | ~int8 | ~int16 | ~int32 | ~int64
}

type IntegerType

type IntegerType interface {
	IntType | UintType
}

type Kind

type Kind []reflect.Kind

Kind est un ensemble de reflect.Kind. Il permet de faciliter la comparaison de types similaires.

func (Kind) Or

func (k Kind) Or(kinds ...Kind) (out Kind)

type Kinder

type Kinder interface {
	Kind() reflect.Kind
}

Kinder est une interface permettant de déterminer une sorte de type. Elle est implémentée par reflect.Type et reflect.Value

type NumberType

type NumberType interface {
	RealType | ComplexType
}

type RealType

type RealType interface {
	IntegerType | FloatType
}

type StringType

type StringType interface {
	~string
}

type Type

type Type struct {
	reflect.Type
}

Type fournit des méthodes supplémentaires à reflect.Type dont elle hérite.

func PointerTo

func PointerTo(t Type) Type

PointerTo retourne un type représentant un pointeur du type donné. Par exemple, si t est un type représentant int, le type retourné représente *int.

func SliceTypeOf

func SliceTypeOf(t Type) Type

SliceTypeOf retourne un type représentation une slice du type donné. Par exemple, si t est un type représentant int, le type retourné représente []int.

func TypeOf

func TypeOf(e any) Type

TypeOf retourne le type de la valeur donnée.

func (Type) AssignableTo

func (t Type) AssignableTo(e Type) bool

AssignableTo se comporte comme la méthode équivalente de reflect.Type.

func (Type) ConvertibleTo

func (t Type) ConvertibleTo(e Type) bool

ComvertibleTo se comporte comme la méthode équivalente de reflect.Type.

func (Type) Elem

func (t Type) Elem() Type

Elem retourne l’élément pointé par la valeur. Tout comme reflect.Type, elle panique si t n’est pas un pointeur, un array, un slice, une map ou un chan.

func (Type) EquivalentTo

func (t Type) EquivalentTo(e Type) bool

EquivalentTo vérifie la convertibilité dans les deux sens. Par exemple un int64 est équivalent à un int mais pas une interface.

func (Type) Fields

func (t Type) Fields() []reflect.StructField

Fields retourne la liste des champs. t doit être une structure.

func (Type) Is

func (t Type) Is(k Kind) bool

Is vérifie si la valeur a un type appartenant à l’ensemble de sortes de types donné.

func (Type) IsSet

func (t Type) IsSet() bool

IsSet retourne vrai si la valeur a un type de la forme map[T]struct{}

func (Type) Key

func (t Type) Key() Type

Key retourne le type de la clé. Elle panique si t n’est pas une map.

func (Type) MapFields

func (t Type) MapFields() map[string]reflect.StructField

MapFields retourne la liste des champs indexés par leurs noms. t doit être une structure.

func (Type) Pointer

func (t Type) Pointer() Value

Pointer retourne un pointeur initialisé vers une valeur du type.

func (Type) Zero

func (t Type) Zero() Value

Zero retourne la valeur zéro du type.

type UintType

type UintType interface {
	~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr
}

type Value

type Value struct {
	reflect.Value
}

Value fournit des méthodes supplémentaires à reflect.Value dont elle hérite.

func AddressableOf

func AddressableOf(t Type) Value

AddressableOf retourne une valeur de type donnée et qui est adressable, donc modifiable. C’est équivalent à PointerOf(t).Elem()

func MapOf

func MapOf(t Type) Value

MapOf retourne une map initialisée du type donné.

func PointerOf

func PointerOf(t Type) Value

PointerOf retourne une valeur contenant un pointeur du type donné. Par exemple, si t représente un type int, la valeur retournée embarque une valeur de type *int, initialisée. Cet exemple est équivalent à ValueOf(new(int)).

func SliceOf

func SliceOf(t Type, l, c int) Value

SliceOf retourne un slice initialisé de type t, longueur l et capacité c.

func ValueOf

func ValueOf(e any) Value

ValueOf retourne une valeur à partie d’une valeur concrète donnée.

func ZeroOf

func ZeroOf(t Type) Value

ZeroOf retourne la valeur zéro du type donné.

func (Value) AddToSet

func (v Value) AddToSet(e Value)

AddToSet ajout une valeur dans le set de valeurs représenté par v. v doit donc être du type de la forme map[T]struct{}

func (Value) Convert

func (v Value) Convert(t Type) Value

Convert retourne la valeur convertie au type donné. La valeur n’est pas modifiée.

func (Value) Elem

func (v Value) Elem() Value

Elem retourne l’élément pointé par la valeur. Tout comme reflect.Value, elle panique si v n’est pas une interface ou un pointeur.

func (Value) Field

func (v Value) Field(i int, deep ...bool) Value

Field retourne la valeur du iè champ. v doit être une structure. Si deep est vrai, force le typage interne.

func (Value) FieldByName

func (v Value) FieldByName(n string, deep ...bool) Value

FieldByName retourne la valeur du champ nommé n. v doit être une structure. Si deep est vrai, force le typage interne.

func (Value) Fields

func (v Value) Fields() []reflect.StructField

Fields retourne la liste des champs. v doit être une structure.

func (Value) Index

func (v Value) Index(i int, deep ...bool) Value

Index retourne la ième valeur d’un tableau. Si deep est fourni et est vrai, il force le retypage profond. Par exemple, si v représente []any{5}, v.Index(0) retourne la valeur 5 de type interface, mais v.Index(0, true) retourne la valeur 5 de type int.

func (Value) Is

func (v Value) Is(k Kind) bool

Is vérifie si la valeur a un type appartenant à l’ensemble de sortes de types donné.

func (Value) IsNil

func (v Value) IsNil() bool

IsNil retourne vrai si la valeur est nulle. Contrairement à la méthode équivalente de reflect.Value, elle ne panique jamais.

func (Value) IsSet

func (v Value) IsSet() bool

IsSet retourne vrai si la valeur a un type de la forme map[T]struct{}

func (Value) IsZero

func (v Value) IsZero() bool

IsZero retourne vrai si la valeur est le zéro de son type. Contrairement à la méthode équivalente de reflect.Value, elle ne panique jamais.

func (Value) Keys

func (v Value) Keys() []Value

Keys retourne les clés de la valeur. La valeur doit être une map.

func (Value) MapIndex

func (v Value) MapIndex(k Value, deep ...bool) Value

MapIndex retourne la kème valeur d’une map. Si deep est fourni et est vrai, il force le retypage profond. Par exemple, si v représente map[string]any{"cinq": 5}, v.MapIndex(ValueOf("cinq")) retourne la valeur 5 de type interface, mais v.MapIndex(ValueOf("cinq"), true) retourne la valeur 5 de type int.

func (Value) Pointer

func (v Value) Pointer() Value

Pointer retourne un pointeur vers la valeur. Si la valeur n’est pas adressable, elle retourne un pointeur initialisé vers une valeur du type de la valeur.

func (Value) Set

func (v Value) Set(e Value)

Set modifie la valeur par la valeur donnée.

func (Value) SetElem

func (v Value) SetElem(e Value)

SetElem modifie la valeur de la variable pointée par la valeur.

func (Value) SetElemVal

func (v Value) SetElemVal(e any)

SetElemVal est équivalent à SetElem mais avec une valeur concrète.

func (Value) SetMapIndex

func (v Value) SetMapIndex(k, e Value)

SetMapIndex agit comme la méthode équivalente de reflect.Value.

func (Value) SetVal

func (v Value) SetVal(e any)

SetVal est équivalent à Set mais avec une valeur concrète.

func (Value) Type

func (v Value) Type() Type

Type retourne le type de la valeur.

func (Value) Type0

func (v Value) Type0() Type

Type retourne le type profond de la valeur. Généralement, cela est équivalent à v.Type(), sauf dans le cas ou la valeur est générée de façon interne, par exemple un élément d’une map de type map[any]any qui, bien qu’initialisée est considérée comme une interface mais pourrait contenir en vraie une string.

func (Value) TypeElem

func (v Value) TypeElem() Type

TypeElem retourne le type d’élément du type de la valeur. Par exemple, si v représente un []int, son élément sera de type int.

func (Value) Zero

func (v Value) Zero() Value

Zero retourne le zéro du type de la valeur.

Jump to

Keyboard shortcuts

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