gpt4 book ai didi

将 slice 限制为最大元素

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

如何设置 slice 最大元素数?

我只想要 50 个元素,而不是超过 50 个...

这是我的代码

var result []*HistoryData
func convertHistoryResults(currenthashrate int64, online int64, offline int64, now int64) []*HistoryData {
history := HistoryData{}
history.CurrentHashrate = currenthashrate
history.Online = online
history.Offline = offline
history.Timestamp = now
result = append(result, &history)
return result
}

它的工作原理,但它向它推送了无穷无尽的元素...所以我有一个很长的 slice 。我想将最大值设置为 50。所以我尝试了

result = append(result[:50], &history)

所以我每次都覆盖第 50 个元素,但我不知道那是行不通的:/

我想在到达第 50 个元素时切断第一个元素并设置 51,当切断 1 个时......所以最新的在最后,最旧的切断

最佳答案

没有这样的内置功能。您只需要检查:

var result []*HistoryData
func convertHistoryResults(currenthashrate int64, online int64, offline int64, now int64) ([]*HistoryData, error) {
if len(result) >= 50 {
return nil, errors.New("result too long")
}
history := HistoryData{}
history.CurrentHashrate = currenthashrate
history.Online = online
history.Offline = offline
history.Timestamp = now
result = append(result, &history)
return result, nil
}

关于将 slice 限制为最大元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48685657/

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