在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
我希望能够动态地引用事物。例如:
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"
在Go语言中可以实现这个功能吗?如果可以,我该如何实现?我正在创建一个报告,其中只包含对象的子集,并且我希望能够创建一个映射文件,让用户将键/值相互映射,然后我的程序将输出相应的值。我已经使用Python实现了这个功能,但想尝试使用Go :)
map[string]interface{}
)是你的好朋友。 - openwonk