登录
首页 >  Golang >  Go问答

如何编写 DRY golang 地图操作函数

来源:stackoverflow

时间:2024-04-05 22:54:23 328浏览 收藏

golang学习网今天将给大家带来《如何编写 DRY golang 地图操作函数》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

据我所知,golang没有类型变量。那么我怎样才能干燥这两个函数呢?

func merge_modes32(nm map[uint32]pb.Mode, om map[uint32]pb.Mode) {
    for k, v := range nm {
        om[k] = v
    }
}

func merge_modes64(nm map[uint64]pb.Mode, om map[uint64]pb.Mode) {
    for k, v := range nm {
        om[k] = v
    }
}

解决方案


你无法以性能接近的方式“干燥”它。您可以使用反射,但生成的代码会明显变慢。

该怎么办?在泛型出现之前(也许在 Go 2 中?),您可以继续为所有所需类型创建此类函数,或者只在需要的地方使用 for 循环。它只有 3 行代码,包括循环和括号......

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>