猿问

相当于 Python 的列表理解

我正在玩围棋,但我很难做其他语言中非常简单的事情。

我想重现一个Python 理解

array = [a for a in anotherArray  if (some condition)]

在 Go 中做这件事的优雅方式是什么?我真的很想简化我的代码,尤其是在数组上使用函数时。例如:

min = min(abs(a[i], b[j]) for i in range(n)
                          for j in range(i, n))


HUH函数
浏览 195回答 2
2回答

慕姐8265434

如果您正在寻找的确实是 python 列表理解,那么 go AFAIK 中没有这样的句法等价物。这样做的方法是创建一个函数,该函数接受一个切片和一个函数(以测试条件)并返回一个新切片。编辑:看起来 Go 中已经有这样的功能了。参考 VonC
随时随地看视频慕课网APP

相关分类

Go
我要回答