parent
e258650aa7
commit
33cd5783a5
@ -0,0 +1,51 @@
|
||||
<h1><span style="color:red; font-style:italic">Go Framework Project ACTIVE</span></h1>
|
||||
|
||||
### Active Thing · [activething.com](https://activething.com)
|
||||
Source [git.activething.com/go]
|
||||
Autor [Juan V. Navarro](juanvnl@activething.com)
|
||||
|
||||
---
|
||||
|
||||
# ablds (ActiveBuiLDerS)
|
||||
|
||||
ablds es una librería de Go diseñada para facilitar la creación eficiente y rápida de serializaciones o formatos de objetos, mapas, listas, y otros tipos de datos comunes en Go. Su propósito principal es proporcionar una alternativa eficiente a la reflexión en Go, que puede tener un coste de ejecución considerable.
|
||||
|
||||
## ¿Qué hace ablds?
|
||||
|
||||
**ablds** proporciona una serie de interfaces y tipos que permiten construir y manipular estructuras de datos de forma modular y flexible, evitando así el uso de reflexión. Estas estructuras de datos pueden ser luego serializadas en diferentes formatos, como JSON, XML, o cualquier otro formato personalizado, según las necesidades del usuario.
|
||||
|
||||
## ¿Cómo funciona?
|
||||
|
||||
La librería se basa en dos conceptos principales: los **Builders** y los **Buildables**.
|
||||
|
||||
- **Builders**: Son interfaces que definen métodos para construir diferentes tipos de estructuras de datos. Por ejemplo, tenemos builders para listas, mapas, y objetos.
|
||||
- **Buildables**: Son interfaces que representan los diferentes tipos de datos que pueden ser construidos utilizando los builders. Estos tipos pueden incluir cualquier cosa, desde valores simples como strings o números hasta estructuras de datos más complejas.
|
||||
|
||||
**ablds** ofrece una serie de métodos para cada tipo de builder, lo que permite agregar y configurar los datos de manera incremental y modular. Esto hace que la construcción de estructuras de datos sea más flexible y fácil de manejar, especialmente en casos donde se necesita construir objetos complejos con múltiples niveles de anidamiento.
|
||||
|
||||
## Ejemplo de Uso
|
||||
|
||||
```go
|
||||
// Crear un objeto ablds
|
||||
builder := NewObjectBuilder()
|
||||
|
||||
// Agregar campos al objeto
|
||||
builder.Field("name").String("John Doe")
|
||||
builder.Field("age").Int(30)
|
||||
builder.Field("is_active").Bool(true)
|
||||
|
||||
// Construir el objeto
|
||||
obj := builder.Build()
|
||||
|
||||
// Serializar el objeto a JSON
|
||||
jsonBytes, _ := json.Marshal(obj)
|
||||
fmt.Println(string(jsonBytes))
|
||||
|
||||
|
||||
***
|
||||
|
||||
Copyright 2024 [activething.com]
|
||||
|
||||
|
||||
[activething.com]: <https://activething.com>
|
||||
[git.activething.com/go]:<https://git.activething.com/go>
|
||||
Loading…
Reference in new issue