V2版本: 改进操作界面,统一表单样式,更多工具支持批量生成,欢迎使用 到达~


文库 阅读
作者: xiaoyu 05/27 20:09:30

【Golang】map的值都是函数怎么定义?

在定义map里不加括号,在使用map时用括号调用,map的值是一个函数对象。

不加括号返函数指针。加括号返结果。


package main

import (
	"fmt"
)

func main() {
	var m = make(map[string]func() string)
	m["name"] = name
	m["sex"] = sex
	m["age"] = age
	fmt.Println(m["name"],m["name"]())
	fmt.Println(m["sex"],m["sex"]())
	fmt.Println(m["age"],m["age"]())
}

func name() string {
	return "zhangsan"
}
func sex() string {
	return "nan"
}
func age() string {
	return "yibai"
}
输出:

0x100b880 zhangsan
0x100b8a0 nan
0x100b8c0 yibai

About

大量判断用if还是switch case,终极选择却是映射map

Resources

发布

未发布任何资源
首页 喜欢 我的 定制
定制咨询
微信二维码
扫一扫上面的二维码,加我为朋友。
微信扫码周一至周六服务
接定制开发需求