如何将不同的类型传递给函数

SeattleOrBayArea:

我有两个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搜索,但找不到任何相关内容。

萨尔瓦多·达利(Salvador Dali):

您可以使用界面 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将不同的枚举类型传递给方法?

如何将不同类型的struct {}传递给GoLang?

将不同类型传递给函数

将不同类型的参数传递给函数

如何将不同大小的数组传递给我的c ++函数?

如何将不同环境中的clientId传递给AppModule

如何将不同的选项传递给 cppwinrt.exe

将不同的结构传递给函数(GO)?

将不同的参数传递给函数

将不同的数组传递给onclick函数

将不同的对象传递给函数

将不同的变量传递给模板函数

使用MockNetwork时如何将不同的CorDapp配置传递给不同的节点

如何将不同的参数传递给实现相同接口的不同http请求类

将不同类型的对象传递给非托管函数

将不同类型的向量作为初始化列表传递给函数

在Spark / Scala中将不同类型的值作为参数传递给单个函数

将不同数据类型的参数传递给Golang Variadic函数

如何通过将不同的参数传递给构造函数来实例化不同的单例类

如何将复合类型传递给PL / pgsql函数?

如何将类类型作为参数传递给函数?

如何将结构类型传递给模块函数?

如何将类类型传递给kotlin中的函数?

如何将习俗类型数组传递给PostgreSQL函数

通过R方式将不同函数的结果传递给函数

如何将不同目录中的两个文件传递给 docker run?

如何将不同的值传递给Scala对象中的变量

如何将不同的值传递给 ExecutorService 中的每个线程?

如何将不同的参数传递给 gdbus,如 unit16、uint32