golang any 转 []int
时间: 2024-09-29 20:12:31 浏览: 83
decimal:GoLang中基于int64的Decimal(64)实现,以保留金额
5星 · 资源好评率100%
在Go语言中,将任意类型转换为int类型的切片需要使用类型断言,具体步骤如下:
1. 定义一个变量,用于存储任意类型的值。
2. 使用类型断言将该变量转换为一个interface{}类型的切片。
3. 遍历interface{}类型的切片,并使用类型断言将其中的元素转换为int类型,最后将其加入到int类型的切片中。
以下是示例代码:
```
// 定义一个任意类型的变量
var any interface{} = []interface{}{1, "2", 3.0}
// 将任意类型的变量转换为interface{}类型的切片
s := any.([]interface{})
// 定义一个int类型的切片
var result []int
// 遍历interface{}类型的切片,并将其中的元素转换为int类型
for _, v := range s {
switch i := v.(type) {
case int:
result = append(result, i)
case float64:
result = append(result, int(i))
case string:
num, err := strconv.Atoi(i)
if err == nil {
result = append(result, num)
}
}
}
// 输出结果
fmt.Println(result)
```
阅读全文