serializer

package
v0.0.0-...-391e90f Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FloatSerializer

type FloatSerializer[T constraints.Float] struct{}

func (*FloatSerializer[T]) Marshal

func (f *FloatSerializer[T]) Marshal(v T) ([]byte, error)

func (*FloatSerializer[T]) Name

func (f *FloatSerializer[T]) Name() string

func (*FloatSerializer[T]) Unmarshal

func (f *FloatSerializer[T]) Unmarshal(data []byte, v *T) error

type IntegerSerializer

type IntegerSerializer[T constraints.Integer] struct{}

IntegerSerializer implementiert Serializer[T] für alle Standard-Integer-Typen. Verwendet strconv zur Konvertierung nach/von String (Base 10).

func (*IntegerSerializer[T]) Marshal

func (s *IntegerSerializer[T]) Marshal(v T) ([]byte, error)

Marshal konvertiert einen Integer-Wert T in seine String-Repräsentation (Base 10) als []byte.

func (*IntegerSerializer[T]) Name

func (s *IntegerSerializer[T]) Name() string

Name gibt den Namen des Serializers inklusive des spezifischen Integer-Typs zurück.

func (*IntegerSerializer[T]) Unmarshal

func (s *IntegerSerializer[T]) Unmarshal(data []byte, v *T) error

Unmarshal parst eine String-Repräsentation (Base 10) in den Ziel-Integer-Pointer *T. Verlässt sich auf strconv.ParseInt/ParseUint für die Bereichsprüfung mittels bitSize.

type JsonSerializer

type JsonSerializer[T any] struct{}

func (*JsonSerializer[T]) Marshal

func (js *JsonSerializer[T]) Marshal(v T) ([]byte, error)

Marshal implementiert Serializer[T] für JSON.

func (*JsonSerializer[T]) Name

func (js *JsonSerializer[T]) Name() string

Name implementiert Serializer[T].

func (*JsonSerializer[T]) Unmarshal

func (js *JsonSerializer[T]) Unmarshal(data []byte, target *T) error

Unmarshal implementiert Serializer[T] für JSON.

type Serializer

type Serializer[T any] interface {
	Marshal(v T) ([]byte, error)
	Unmarshal(data []byte, target *T) error // Nimmt Pointer auf T
	Name() string                           // Gibt einen Namen zurück (z.B. für Logging)
}

Serializer definiert Methoden zur Konvertierung von Daten des Typs T.

func NewIntegerSerializer

func NewIntegerSerializer[T constraints.Integer]() Serializer[T]

NewIntegerSerializer erstellt einen neuen Serializer für den gegebenen Integer-Typ T.

func NewJsonSerializer

func NewJsonSerializer[T any]() Serializer[T]

NewJsonSerializer erstellt einen neuen JSON Serializer für den Typ T.

type StringSerializer

type StringSerializer struct{}

func (*StringSerializer) Marshal

func (f *StringSerializer) Marshal(v string) ([]byte, error)

func (*StringSerializer) Name

func (f *StringSerializer) Name() string

func (*StringSerializer) Unmarshal

func (f *StringSerializer) Unmarshal(data []byte, v *string) error

Jump to

Keyboard shortcuts

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