gpt4 book ai didi

go - 将零 int 断言为 int32

转载 作者:数据小太阳 更新时间:2023-10-29 03:42:54 27 4
gpt4 key购买 nike

我注意到对于零整数,Go 断言并不像我预期的那样有效。这是代码:

var i interface{}
i = 0
i32, ok := i.(int32)
fmt.Println(ok)
fmt.Println(i32)

输出如下:

false
0

我找不到对此行为的解释。是错误吗?

最佳答案

i 不包含 int32,它包含 int,因此类型断言失败。

像这样将字面量值直接分配给 interface{} 或在简短的变量声明中使用一个字面量值可能会有点困惑,因为您无法真正看到获得的值类型;你需要知道 "default type" 的规则一个常数。如果这给您带来麻烦,您可以将其显式转换为一种类型,例如i = int32(0),这将确保 i 实际上包含 int32

关于go - 将零 int 断言为 int32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58072244/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com