awesome-repositories.com
المدونة
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
fatih avatar

fatih/structsArchived

0
View on GitHub↗
3,926 نجوم·700 تفرعات·Go·MIT·1 مشاهدةgodoc.org/github.com/fatih/structs↗

Structs

Structs is a reflection utility and type inspection framework for Go. It provides tools for inspecting, converting, and validating data structures by extracting field names, tags, and values from Go objects.

The library specializes in transforming Go structs into generic maps or slices for serialization and data manipulation. It utilizes tag-driven mapping to determine custom keys and exclusion rules during these transformations.

The project covers broader capabilities including metadata extraction, type validation to verify if variables are structs or pointers, and initialization verification to detect zero-value states across data structures.

Features

  • Struct-to-Map Converters - Transforms Go structs into generic maps of keys and values using custom naming and exclusion rules.
  • Go Struct Reflection Utilities - Reading, modifying, and inspecting fields and tags within Go data structures using reflection.
  • Field Inspection Utilities - Provides methods for retrieving and accessing Go struct field metadata and values via reflection.
  • Go Data Mapping Libraries - Provides mapping and conversion utilities between Go native structs and generic maps.
  • Recursive Pointer Unwrapping - Resolves nested pointers to their base struct types to ensure consistent analysis regardless of memory address.
  • Runtime Type Validation - Ensures type safety by confirming an object is a struct or pointer before applying reflection logic.
  • Struct Metadata Extractors - Retrieves Go struct type names, field tags, and lists of exported fields from objects at runtime.
  • Struct Type Identification - Provides the ability to verify if a variable is a struct or a pointer to a struct for reflection purposes.
  • Go Type Inspection Frameworks - Verifies struct types, detects uninitialized fields, and retrieves package-specific type names in Go.
  • Data Serialization Formats - Converts complex Go data structures into standardized maps or lists for easier serialization.
  • Struct Field Iterators - Provides mechanisms to traverse Go struct fields at runtime to extract values and metadata into generic collections.
  • Reflection-Based Data Mapping - Uses language reflection to transform Go structs into generic data maps based on metadata.
  • Struct Tag Mapping Utilities - Reads struct tags to enforce, ignore, or rename fields during the transformation of data into maps or slices.
  • Reflection Utilities - Provides tools for runtime introspection and object reflection to extract field names and values.
  • Initialization Status Checks - Verifies whether a data structure or its individual fields have been initialized.
  • Struct-to-Slice Converters - Extracts all exported field values from a Go struct into a slice while ignoring empty or specified fields.
  • Type Name Extraction - Implements the extraction of specific package-qualified type names from Go objects.
  • Go Type Validators - Verifies if variables are structs or pointers and checks for zero-value initialization.
  • Zero Value Detection - Detects if a data structure is uninitialized by identifying if all its fields contain zero values.
  • Zero-Value Field Skippers - Detects and skips Go zero-value fields to prevent overwriting data with empty values during transformations.

سجل النجوم

مخطط تاريخ النجوم لـ fatih/structsمخطط تاريخ النجوم لـ fatih/structs

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

الأسئلة الشائعة

ما هي وظيفة fatih/structs؟

Structs is a reflection utility and type inspection framework for Go. It provides tools for inspecting, converting, and validating data structures by extracting field names, tags, and values from Go objects.

ما هي الميزات الرئيسية لـ fatih/structs؟

الميزات الرئيسية لـ fatih/structs هي: Struct-to-Map Converters, Go Struct Reflection Utilities, Field Inspection Utilities, Go Data Mapping Libraries, Recursive Pointer Unwrapping, Runtime Type Validation, Struct Metadata Extractors, Struct Type Identification.

ما هي البدائل مفتوحة المصدر لـ fatih/structs؟

تشمل البدائل مفتوحة المصدر لـ fatih/structs: goccy/go-yaml — This library is a Go-based utility for encoding and decoding YAML data into native language structures. It facilitates… jinzhu/copier — Copier is a Go library that deep copies data between structs, maps, and slices using reflection-based field mapping… toml-lang/toml — TOML is a configuration file format designed for human readability and unambiguous mapping to hash tables. It serves… facebook/prop-types — prop-types is a JavaScript object validator and runtime type checker. It serves as a development tool for verifying… arktypeio/arktype — Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with… antonmedv/expr — Expr is a high-performance expression evaluation engine and language for Go applications. It functions as a dynamic…

بدائل مفتوحة المصدر لـ Structs

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Structs.
  • goccy/go-yamlالصورة الرمزية لـ goccy

    goccy/go-yaml

    2,189عرض على GitHub↗

    This library is a Go-based utility for encoding and decoding YAML data into native language structures. It facilitates the transformation of complex objects into human-readable text formats and provides mechanisms for mapping data fields through reflection and custom type handling. The library distinguishes itself by maintaining an intermediate abstract syntax tree, which allows for precise document modifications and the preservation of comments during serialization. It includes a path-based query engine that enables users to navigate, filter, and update document hierarchies without manual it

    Gogogolanggolang-library
    عرض على GitHub↗2,189
  • jinzhu/copierالصورة الرمزية لـ jinzhu

    jinzhu/copier

    6,172عرض على GitHub↗

    Copier is a Go library that deep copies data between structs, maps, and slices using reflection-based field mapping and struct tag controls. At its core, it automatically transfers values by matching source and destination fields by name, type, and methods, creating fully independent copies of nested data structures to prevent shared references and unintended mutations. The library distinguishes itself through tag-driven copy rules that give developers fine-grained control over the copying process. Struct tags can enforce mandatory field copying, exclude specific fields from transfer, or map

    Gocopygogolang
    عرض على GitHub↗6,172
  • arktypeio/arktypeالصورة الرمزية لـ arktypeio

    arktypeio/arktype

    7,780عرض على GitHub↗

    Arktype is a TypeScript runtime validation library and schema orchestrator. It synchronizes TypeScript types with runtime data validation, allowing users to define type-safe schemas that ensure unknown data adheres to specific structures during application execution. The project distinguishes itself by using set-theory type analysis to determine intersections and subtype compatibility, alongside JIT-compiled validation functions for optimized performance. It supports advanced type modeling through branded type constraints, recursive alias resolution, and the ability to generate runtime valida

    TypeScriptjavascriptparsingruntime-typechecking
    عرض على GitHub↗7,780
  • facebook/prop-typesالصورة الرمزية لـ facebook

    facebook/prop-types

    4,452عرض على GitHub↗

    prop-types is a JavaScript object validator and runtime type checker. It serves as a development tool for verifying that object properties match predefined specifications, primarily used to ensure that data passed into React components aligns with expected types. The utility detects data inconsistencies by logging warnings to the console when mismatches occur, rather than throwing exceptions. It employs a stateful warning cache to prevent duplicate logs and restricts validation logic to non-production environments to avoid performance overhead in released builds. The project covers data vali

    JavaScript
    عرض على GitHub↗4,452
  • عرض جميع البدائل الـ 30 لـ Structs→