gpt4 book ai didi

go - true 还是 false 应该终止回调迭代?

转载 作者:IT王子 更新时间:2023-10-29 01:39:13 24 4
gpt4 key购买 nike

在某些语言中,通过提供接收项目并返回指示是继续还是停止迭代的 bool 值的回调函数来进行迭代是必要的或更清洁的。

哪个是表示希望停止/继续的首选值?为什么?有哪些先例?

Go 中的示例:

func IntSliceEach(sl []int, cb func(i int) (more bool)) (all bool) {
for _, i := range sl {
if !cb(i) {
return false
}
}
return true
}

最佳答案

Which is the preferred value to indicate desire to stop/continue?

true 继续

Why?

示例 1:

func example(i interface{}) {
if w, ok := i.(io.Writer); ok {
// do something with your writer, ok indicates that you can continue
}
}

示例 2:

var sum int = 0
it := NewIntStatefulIterator(int_data)
for it.Next() {
sum += it.Value()
}

在这两种情况下,true (ok) 表示您应该继续。所以我认为这将是您的示例的方式。

关于go - true 还是 false 应该终止回调迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36471296/

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