Go 中的列表理解

我有一个结构数组。


var a = [] struct {

    f1 string

    f2 string

}{

    {"foo", "bar"},

    {"biz", "baz"},

}

我想将f2字段数组传递给函数,就像这样


var f2s []string

for _, s := range a {

    f2s = append.f2s(s.f2)

}

// f2s = {"bar", "baz"}

SomeFunc(f2s)

有没有更惯用的方法来做到这一点?在 Python 中,我会做SomeFunc([s.f2 for s in a]). 在函数式语言中,我会做(SomeFunc (map (lambda (s) (s.f2)) a))。


温温酱
浏览 174回答 2
2回答

杨__羊羊

不,Go 没有列表强制等。你的代码看起来不错。对于较长的切片,最好使用 make 分配适当的长度。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go