您的位置:首页 > 编程语言 > Go语言

golang学习之接口型函数

2017-02-06 14:12 323 查看
先说下使用接口型函数的好处:

1、不必将某个接口函数附在某个type上面,保证了命名随意

2、 可以直接调用函数或者使用该接口,两两不耽误

直接上代码吧:

// interface_func project main.go 接口型函数基本使用
package main

import "fmt"

type Handler interface {
Do(k, v interface{})
}

type HandlerFunc func(k, v interface{})

func (f HandlerFunc) Do(k, v interface{}) {
f(k, v)
}

func Each(m map[interface{}]interface{}, h Handler) {
if m != nil && len(m) > 0 {
for k, v := range m {
h.Do(k, v)
}
}
}

func SelfInfo(k, v interface{}) {
fmt.Printf("大家好,我是%s,今年%d岁了\n", k, v)
}

func EachFunc(m map[interface{}]interface{}, f func(k, v interface{})) {
Each(m, HandlerFunc(f))
}

func main() {
SelfInfo("chaozhou", 23) //可以单独调用
SelfInfo("lisi", 24)     //可以单独调用
person := make(map[interface{}]interface{})
person["chaozhou"] = 23
person["lisi"] = 24
EachFunc(person, SelfInfo)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: