当前位置: 首页 > 面试题库 >

如何使用功能作为地图的关键

左丘季
2023-03-14
问题内容

如何使用功能作为地图的键?例如:

type Action func(int)
func test(a int) { }
func test2(a int) { }

func main() {
  x := map[Action]bool{}
  x[test] = true
  x[test2] = false
}

这些代码将显示错误: invalid map key type Action


问题答案:

您可以使用reflect

    import (
       "reflect"
       "math"
    )


    func foo () {
       table := make(map[uintptr] string)
       table[reflect.ValueOf(math.Sin)] = "Sin"
       table[reflect.ValueOf(math.Cos)] = "Cos"
       println(table[reflect.ValueOf(math.Cos)])
    }


 类似资料:
  • 问题内容: 我已经使用Spark建立了Word2Vec模型并将其另存为模型。现在,我想在另一个代码中将其用作脱机模型。我已经加载了模型,并用它来表示单词的向量(例如,Hello),并且效果很好。但是,我需要使用map在RDD中为许多单词调用它。 当我在地图函数中调用model.transform()时,它将引发以下错误: “似乎您正在尝试从广播引用SparkContext。”异常:您似乎正在尝试从

  • 图形渲染 渲染系统,包括材质,光照,粒子等 UI系统 UI系统,包括与UI 相关的全部内容 动画系统 基于动画帧数据及骨骼顶点数据的通用动画及骨骼动画体系 音频 控制声音片段的播放暂停等 物理模拟 物理仿真模拟,主要包括刚体和碰撞等 脚本指南及事件系统 用于实现用户定义行为的脚本使用指南,包括事件的触发机制等 组件 用于为游戏对象添加不同功能的组件说明 资源 引擎使用到的各种不同资源介绍及整体资源

  • 问题内容: 可以将切片用作键吗? 我有尝试: 编译器给我一个错误。因此,要么不可能,要么我错误地声明了它(如果可以,那么正确的方法是什么?)。 问题答案: 不可以,切片没有定义相等性,因此无法用作映射键。

  • 问题内容: 我使用以下代码编译以下示例: 我得到: 第5行像第6行一样更改了代码。 在打印函数的地址时,我缺少删除警告的内容吗? 问题答案: 本质上,这是打印函数指针的唯一可移植方式。

  • 本文向大家介绍OCaml 使用功能关键字,包括了OCaml 使用功能关键字的使用技巧和注意事项,需要的朋友参考一下 示例 function定义函数主体时,关键字自动具有模式匹配。在下面观察它:            

  • 本文向大家介绍如何使用HTML5地理位置定位功能,包括了如何使用HTML5地理位置定位功能的使用技巧和注意事项,需要的朋友参考一下 HTML5提供了地理位置定位功能(Geolocation API),能确定用户位置,我们可以借助HTML5的该特性开发基于地理位置信息的应用。本文结合实例给大家分享如何使用HTML5,借助百度、谷歌地图接口来获取用户准确的地理位置信息。 定位功能(Geolocatio