【问题标题】:Is it possible to type cast from an int32 to an in64 and vice versa in Go? [duplicate]是否可以在 Go 中从 int32 类型转换为 int 类型,反之亦然? [复制]
【发布时间】:2019-11-07 21:00:55
【问题描述】:

我正在尝试在 Go 中的 []int32 切片到 []int64 切片之间进行类型转换。如果不直接,我可以在这些类型之间进行转换吗?

【问题讨论】:

  • 您可以将 int32 转换为 int64 并返回,但不能转换这些类型的切片。创建所需类型的新切片并逐个转换元素。
  • 您的标题问题的答案是肯定的。你的身体问题的答案是否定的。您的实际问题是什么?

标签: go


【解决方案1】:

不,这是不可能的。原因是支持这些切片的数组单元由 4 或 8 个字节组成。将 4 个字节视为 8 个字节是没有意义的。你需要一个一个地复制内容。

【讨论】:

  • 这就是为什么你不能断言一个到另一个,但与为什么你不能将一个转换为另一个无关(否则 int32 int64 也是如此,您可以在它们之间进行转换,并且它们也有不同的宽度)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-10
  • 2013-08-10
  • 2020-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多