我需要区分这样的类型
type A []byte
Run Code Online (Sandbox Code Playgroud)
来自a []byte.用reflect,reflect.TypeOf(A{}).Kind告诉我,这是一个Slice的byte.如何[]byte{}在A{}没有要检查的有界类型列表的情况下区分?
有没有新方法在较新版本的Go中执行此操作?
如果我的类型定义为:
type T struct {
S string
is []int
}
Run Code Online (Sandbox Code Playgroud)
那我怎么去克隆这种类型的对象呢?如果我做一个简单的任务:
p := T{"some string", []int{10, 20}}
q := p
Run Code Online (Sandbox Code Playgroud)
然后对[]int影响两个对象的任何更改.由于T.is未导出,因此即使使用反射提取也无法显式复制.
我正在提供Clone类型本身的包中的方法.但这对其他软件包中的类似类型没有帮助.还有另一种方法吗?