如何[]interface{}
在Go中反转任意切片()?我宁愿不必编写Less
和Swap
使用sort.Reverse
。有没有简单的内置方法来做到这一点?
没有一个简单的,内置的用于反转接口{}的部分。您可以编写一个for循环来做到这一点:
for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 {
s[i], s[j] = s[j], s[i]
}
Go
1.8中引入的reflect.Swapper函数可用于编写通用的反转函数:
func reverseAny(s interface{}) {
n := reflect.ValueOf(s).Len()
swap := reflect.Swapper(s)
for i, j := 0, n-1; i < j; i, j = i+1, j-1 {
swap(i, j)
}
}
游乐场的例子
问题内容: 为什么不起作用? 问题答案: 创建所选子列表的副本,该副本由反转。这不会更改原始列表。切片Python列表始终会创建副本-您可以使用 复制整个列表。
问题内容: 我正在尝试对Go中的整数切片进行反向排序。 如何对它进行排序,使其从最高到最低?所以[25 5 4 3 1] 我已经试过了 资料来源:http : //golang.org/pkg/sort/#Reverse 但是,我得到下面的错误 问题答案: sort.Ints是对几个int进行排序的便捷函数。通常,如果要对某些内容进行排序和排序,则需要实现sort.Interface接口.Reve
你如何防抖React.js? 我想防抖手柄。 我试过,但它不起作用。
我从下面的另一个问题中看到了一个代码,但我不知道如何利用它。
问题内容: 我需要取消转义包含转义的XML标签的xml字符串: 我确实找到了一些可以执行此任务的库,但是我宁愿使用可以执行此任务的单一方法。 有人可以帮忙吗? 干杯,Bas Hendriks 问题答案: (commons-lang,下载)
我在AP计算机科学的9年级,我们得到了一个制作游戏的项目。我选择了老师建议的一个简单的气游戏。但我不知道如何在电脑和播放器之间交替旋转。