zoukankan      html  css  js  c++  java
  • golang学习之接口型函数

    先说下使用接口型函数的好处:

    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岁了
    ", 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)
    }
  • 相关阅读:
    用python将博客园的文章爬取到本地
    2016.7.9
    2016.7.8
    2016.7.7
    2016.7.5
    2016.7.4
    2016.7.3
    2016.7.2
    2016.6.28
    2016.6.27
  • 原文地址:https://www.cnblogs.com/vipzhou/p/6370146.html
Copyright © 2011-2022 走看看