Go 语言提供了运行时反射的内置支持实现,并允许程序在反射包的帮助下操作任意类型的对象。 Golang 中的reflect.MapOf()函数用于获取具有给定键和元素类型的地图类型,即如果k 表示int 并且e 表示字符串,则MapOf(k, e) 表示map[int] 字符串。要访问此函数,需要在程序中导入反射包。
Syntax:
Parameters: This function takes three parameters of Type type(key, elem).
Return Value: This function returns the map type with the given key and element types.
下面的例子说明了上述方法在 Golang 中的使用:
示例 1:
func MapOf(key, elem Type) Type
输出:
// Golang program to illustrate
// reflect.MapOf() Function
package main
import (
"fmt"
"reflect"
)
// Main function
func main() {
var i interface{}
// use of MapOf method
tm := reflect.MapOf(reflect.TypeOf("string"),
reflect.TypeOf(&i).Elem())
fmt.Println(tm)
}
示例 2:
map[string]interface {}
输出:
// Golang program to illustrate
// reflect.MapOf() Function
package main
import (
"fmt"
"reflect"
)
// Main function
func main() {
ta := reflect.ArrayOf(5, reflect.TypeOf(123))
tc := reflect.ChanOf(reflect.SendDir, ta)
//use of MapOf method
tm := reflect.MapOf(ta, tc)
fmt.Println(tm)
}