为了账号安全,请及时绑定邮箱和手机立即绑定

你将如何访问传递给函数的底层数组,该函数期望在 Go 中有一个空接口?

你将如何访问传递给函数的底层数组,该函数期望在 Go 中有一个空接口?

Go
holdtom 2021-08-10 21:12:52
因此,假设我们有以下形式的函数:func WorkMagic(obj interface{}) interface{} {    switch t := obj.(type) {     case string:        // Do string magic    default:        // Do slice magic    }    ...}我希望obj是一个字符串或一个切片,我可以通过开关确定。在切片的情况下,我希望能够对任何任意切片进行排序工作,而不管类型如何。似乎实现此目的的最佳方法是以与本文中讨论的方式类似的方式使用 unsafe 包。然而,这里的函数接受特定类型的切片 ( []string),而我希望能够处理任何切片。所以问题是,鉴于我接受一个空接口作为输入,我如何使用 unsafe.Pointer 访问底层切片/数组,以便能够循环并修改哪个值与哪个索引关联?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 209 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信