10 个仓库
Decodes structured data from hashes directly into application-defined types or structs.
Distinct from Hash Data Structures: Focuses on the transformation of hash data into typed objects rather than the storage of the hash itself.
Explore 10 awesome GitHub repositories matching data & databases · Struct Mapping. Refine with filters or upvote what's useful.
Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations
Decodes stored hash data directly into application-defined types or structs for easier handling.
oapi-codegen is a suite of generators that converts OpenAPI 3 specifications into type-safe Go client libraries, server boilerplate, and data models. It provides tools for producing production-ready HTTP clients and server-side interfaces to ensure that Go implementations remain compliant with defined API contracts. The tool supports server generation across various web frameworks and allows for extensive customization via template overrides, specification overlays, and custom type definition mappings. It handles complex API requirements through external reference resolution to organize code
Transforms OpenAPI JSON schemas into strongly typed Go structures with custom tags for serialization.
mapstructure is a reflection-based library for the bidirectional encoding and decoding of generic map data into native typed Go structures. It functions as a tool for transforming loosely typed map values into specific structs and encoding those structs back into maps. The library utilizes Go reflection to map generic data keys to struct fields during runtime. It supports the transformation of untyped data from dynamic sources or configuration files into type-safe native structures. The mapping process includes recursive traversal of nested maps and slices, as well as the use of struct tags
Transforms loosely typed map data into native Go structs and encodes structs back into maps.
Ecto is an Elixir database toolkit that maps database rows to Elixir structs and validates data changes through changesets before persistence. It provides a language-integrated query syntax for composing database queries, building them incrementally and securely with compile-time expansion into safe SQL. The toolkit connects to multiple database backends including PostgreSQL, MySQL, MSSQL, SQLite3, ClickHouse, and ETS through a pluggable adapter interface. It supports eager and lazy preloading of associated records to eliminate N+1 query problems, and can store nested data structures as embed
Defines the shape of external data as structs, mapping fields and types for structured access.
Flags deletion in a structure containing a mapping, which does not delete the mapping and may compromise the contract.
envconfig is a Go configuration decoder and environment variable mapper that deserializes environment variables into structured Go data types. It provides tools for validating mandatory fields and ensuring application configuration adheres to the external configuration patterns of twelve-factor app compliance. The library features a help generator that creates formatted usage text based on struct definitions to describe expected environment variables. It also includes a validation tool capable of detecting unused environment variables that match a specific prefix but do not correspond to any
Decodes environment variables into application-defined structs using a specified prefix.
该项目是一个用于在 Go 中构建可扩展后端系统的微服务框架。它提供了一种分布式系统架构,集成了对服务发现、负载均衡和容错机制的支持。 该框架的独特之处在于领域驱动的分层架构和远程优先的配置系统,该系统在远程存储和本地文件之间同步设置并具有自动故障转移功能。它使用 gRPC 实现高性能通信模型,用于一元和流式数据交换,以及用于管理持久客户端连接的实时通知系统。 该系统涵盖了广泛的分布式能力,包括通过熔断和限流进行的流量管理,以及通过分布式追踪、集中式日志记录和健康监控实现的观测性。它还结合了数据基础设施工具,如概率布隆过滤器、分布式锁和基于令牌的服务认证。 该项目包括对容器化 Elasticsearch 和 HBase 环境的部署支持。
Automatically maps configuration data from files into strongly typed Go structs.
koanf is a configuration management library for Go designed to load, merge, and unmarshal application settings from multiple sources into structured objects. It functions as a multi-source config loader that aggregates data from environment variables, files, and remote providers into a single unified map. The system utilizes a pluggable architecture for parsing and data abstraction, allowing it to transform bytes from formats such as JSON, YAML, and TOML into nested maps. It supports dynamic configuration watching to monitor external sources and trigger automatic reloads when settings change.
Maps configuration keys to strongly typed Go structs using custom tags for easier access in application logic.
nba-go is a basketball analytics tool and data aggregator that provides a command line interface for retrieving professional basketball league information, player statistics, and team performance metrics. The application enables game analysis through team statistics comparisons and pregame metric evaluations to predict outcomes. It also provides player analysis utilities to evaluate and compare athletic performance metrics across multiple individuals. The tool covers a broad range of data retrieval capabilities, including game schedules, live scoreboards with play-by-play updates, and post-g
Maps raw API responses into strongly typed Go structures to ensure data consistency.
Kong is a declarative command line interface framework and parser for Go. It maps flags and positional arguments directly into typed Go structures using struct tags, allowing developers to define terminal interfaces through data models rather than manual parsing logic. The project functions as a configuration mapper that populates Go structures from a combination of command-line arguments, environment variables, and JSON files. It distinguishes itself by providing a dependency injection container to pass external services into command handlers and a plugin architecture for dynamic command reg
Parses flags and arguments into a typed data structure to simplify configuration and input handling.