【发布时间】:2016-12-19 19:25:21
【问题描述】:
在我的游乐场代码中,有 2 种类型共享非常相似的字段定义,就像这样,
type Int64 int64
type TA struct {
A Int64
B string
}
type TB struct {
A int64
B string
}
如何以最少的代码和性能成本在两者之间进行转换?
https://play.golang.org/p/VFERyT-RgK
附言经测试,仅当 TA.A 与 TB.A 的类型完全相同时,TA(some_tb_value) 与上述情况类似。但是,使基础类型 (Int64->int64) 完全相同并不适合我需要的用例。
附言使用某些协议 (json) 序列化 some_tb_value 并反序列化回 TA 类型的指针是可能的,但对于关键路径的使用来说它可能太重了
【问题讨论】:
-
@icza 感谢您的指出。反映是可能的解决方案。我正在寻找其他用于大量使用的高性能方法。