小编mik*_*ike的帖子

Golang动态变量引用

在Go中,我想做这样的事情.我有一个包含许多结构的大对象(使用Google的protobuf).这是一个人为的例子:

person.name = "testing"
person.address.street = "123 test st"
person.address.city = "tester"
person.address.zip = 90210
person.billing.address.same = true
Run Code Online (Sandbox Code Playgroud)

我希望能够动态地引用一些东西.例如:

key := "person.address.zip"
fmt.Println("the value of key: " + key) // would like to get 90210
key := "person.address.city"
fmt.Println("the value of key: " + key) // would like to get "tester"
Run Code Online (Sandbox Code Playgroud)

Go有可能吗?如果是的话,我怎么能这样做?基本上,我正在创建一个只包含对象子集的报告,我希望能够创建一个映射文件,用户可以将键/值映射到一起,我的程序将输出值.我有这个在python中工作,但想尝试使用Go :)

reflection variables dynamic go go-reflect

7
推荐指数
1
解决办法
3083
查看次数

Rust 特性不满足

我是 rust 的新手,并尝试在 stackoverflow 中搜索以及阅读 serde 文档 https://docs.serde.rs/serde/trait.Serialize.htmlhttps://serde.rs/impl-serialize.html,但我有点失落。

我想使用 Tera 生成 html,而我传递给它的结构没有serde::ser::Serialize实现trait ,我试图实现它,但它看起来不太正确。

Cargo.toml 依赖项

serde = "1.0.115"
serde_derive = "1.0.115"
serde-xml-rs = "0.4.0"
tera = "0.7.2"
Run Code Online (Sandbox Code Playgroud)

主文件

extern crate tera;
#[macro_use]
extern crate serde_derive;
extern crate serde;

use tera::Context;
use serde::ser::{Serialize, SerializeStruct, Serializer};

#[derive(Serialize, Debug)]
struct Person {
    firstname: String,
    lastname: String,
    age: i32,
}

#[derive(Debug)]
struct Attendees {
    people: Vec<Person>,
    updatedOn: String,
    updatedBy: String,
}

impl Serialize for Attendees {
    fn serialize<S>(&self, serializer: …
Run Code Online (Sandbox Code Playgroud)

rust serde

2
推荐指数
1
解决办法
447
查看次数

标签 统计

dynamic ×1

go ×1

go-reflect ×1

reflection ×1

rust ×1

serde ×1

variables ×1