我有两个golang函数,它们的功能完全相同,一个函数将一个切片作为输入,另一个函数将一个地图作为输入。我想将其合并为一个函数,以避免重复。
func DoSomething([]data) {
//do something.
}
func DoSomething(map[string]data) {
//do something.
}
组合功能可能如下所示:
func DoSomethingNew (param type) {
//param could be map or slice
}
我想知道是否可以在golang中将不同类型传递给同一函数,以及如何传递。我用Google搜索,但找不到任何相关内容。
您可以使用界面 Go Playground
func F(data interface{}) {
switch data.(type){
case []int:
fmt.Println("Slice")
fmt.Println(data)
case map[string]int:
fmt.Println("Map")
fmt.Println(data)
}
fmt.Println()
}
您实际在其中检查类型并根据类型进行操作的地方。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句