golang 能不能用类型检测结果,来声明变量或作类型断言?

weixin_38050602 2019-09-20 09:47:14
比如,我想写一个函数,求切片内最大值,我还想让它通用,适用于[]int, []float64各种类型的切片 ,于是我这样写

```go
func max(i interface{}) interface{} {
t := reflect.TypeOf(i)
arr := i.(t) // 当然这样是不行的,只是表达我的想法,能动态识别类型,作类型断言,再使用
max := arr[0]
for _, v := range arr {
if v > max {
max = v
}
}
return max
}
```

我想动态识别接口的实际类型,然后用这个类型,做类型断言 ,达到通用化的目的,能做到吗??
...全文
12 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧