gpt4 book ai didi

sorting - 在 golang 中对表格进行排序

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

我在 golang 中有一张 table 。我需要根据特定列对其进行排序。有人可以帮助我继续吗?

table := ui.Table([]string{"SI No","Name","ID","status","submitted-at"})
strs := dat["resources"].([]interface{})
var ln int = 20
i:=0
for i < ln {
table.Add(strconv.Itoa(i+1), metadataName , metadataID, metadataStatus, metadataSubmittedAt)
i = i + 1
}

最佳答案

sort package在标准库中包含一个 interface如果您为任何类型实现它,则可以使用 sort.Sort() 函数对其进行排序。

即使 ui.Table 对象来自您无法修改的包或库,您始终可以使用 ui.Table 作为基础声明一个新类型并自己实现 sort.Interface,例如:

type myTable ui.Table

func (m myTable) Len() int { return len(m) }
func (m myTable) Swap(i, j int) { m[i], m[j] = m[j], m[i] }
func (m myTable) Less(i, j int) bool { return m[i].col() < m[j].col() }

或者您知道一些对 Table 类型有意义的实现。在这里,我假设您的行有一个函数 col(),它返回您用来对该行进行排序的列的值,并且 Table 是行可能不是这种情况。

我希望我能提供更多帮助,但如果您不提供有关 ui.Table 的任何详细信息,就不可能在任何实现细节方面为您提供帮助。

关于sorting - 在 golang 中对表格进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48257435/

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