我有这两个几乎完全相同的功能:
第 1 名:
func mergeSlicesOfRequestObjects(aSliceDestination *[]RequestObject, aSliceSource []RequestObject) {
for _, oSliceSourceItem := range aSliceSource {
// Get current key
iIndexSourceItemFound := -1
for iIndexAttribute, oSliceDestinationItem := range *aSliceDestination {
if oSliceSourceItem.Key == oSliceDestinationItem.Key {
iIndexSourceItemFound = iIndexAttribute
break
}
}
// Update attribute
if iIndexSourceItemFound == -1 {
*aSliceDestination = append(*aSliceDestination, oSliceSourceItem)
}
}
}
2号:
func mergeSlicesOfResponseObjects(aSliceDestination *[]ResponseObject, aSliceSource []ResponseObject) {
for _, oSliceSourceItem := range aSliceSource {
// Get current key
iIndexSourceItemFound := -1
for iIndexAttribute, oSliceDestinationItem := range *aSliceDestination {
if oSliceSourceItem.Key == oSliceDestinationItem.Key {
iIndexSourceItemFound = iIndexAttribute
break
}
}
// Update attribute
if iIndexSourceItemFound == -1 {
*aSliceDestination = append(*aSliceDestination, oSliceSourceItem)
}
}
}
如您所见,唯一的区别是函数参数的结构类型。
所以这是我的问题:有没有办法将这两个功能合并为一个?
我试过使用接口,但我无法弄清楚......
狐的传说
相关分类