假设我想将一个函数应用于列表中的每个元素,然后将结果值放入另一个列表中,以便立即使用它们。在python中,我会做这样的事情:
list = [1,2,3]
str = ', '.join(multiply(x, 2) for x in list)
在Go中,我执行以下操作:
list := []int{1,2,3}
list2 := []int
for _,x := range list {
list2 := append(list2, multiply(x, 2))
}
str := strings.Join(list2, ", ")
可以用更短的方式做到这一点吗?
最佳答案
我会完全按照您的方式做,并做一些调整来修正错别字
import (
"fmt"
"strconv"
"strings"
)
func main() {
list := []int{1,2,3}
var list2 []string
for _, x := range list {
list2 = append(list2, strconv.Itoa(x * 2)) // note the = instead of :=
}
str := strings.Join(list2, ", ")
fmt.Println(str)
}
关于go - 将函数应用于golang列表中所有元素的简短方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33726731/