1 回答

TA贡献1802条经验 获得超5个赞
Go 没有元组语法,也许你想要这样的东西:
stringTuple{value, b[index]}
由于 是 一个结构,这是初始化其字段;您还可以显式提供字段名称,如下所示:stringTuple
stringTuple{names: value, ages: b[index]}
代码中的另一个问题是 从 到 切片的映射。但是该函数只返回一个切片,所以我不确定为什么你在那里使用地图。namesAgesTupleintstringTuple
我可能会把代码写成这样(Go playground link):
type stringTuple struct {
names string
ages string
}
func main() {
var names string = "bob julie mark mike"
namesArray := strings.Split(names, " ")
fmt.Println(namesArray)
var ages string = "20,30,40,50"
agesArray := strings.Split(ages, ",")
fmt.Println(agesArray)
fmt.Println(zip(namesArray, agesArray))
}
func zip(a []string, b []string) ([]stringTuple, error) {
if len(a) != len(b) {
return nil, fmt.Errorf("zip: arguments length must be same ")
}
var namesAges []stringTuple
for index, value := range a {
namesAges = append(namesAges, stringTuple{value, b[index]})
}
return namesAges, nil
}
- 1 回答
- 0 关注
- 155 浏览
添加回答
举报