业精于勤,荒于嬉。

GO语言函数与类型

package main

import ()
import (
    "fmt"
    "reflect"
    "errors"
)

type age int

type userFunc func(name string) error

func (fn *userFunc)String() string {
    return "我是函数你String个毛"
}

func main() {
    var fn userFunc = * new(userFunc)

    fn = func(name string) error {
        fmt.Println("参数是:", name)
        return errors.New("。。。。oh shit 函数也能new。。。。还能当类型")
    }

    fmt.Println(fn("oh no!no!no!"))
    fmt.Println(reflect.TypeOf(&fn))
}

//~output:
参数是: oh no!no!no!
。。。。oh shit 函数也能new。。。。还能当类型
*main.userFunc 


 

Go语言中的函数可以当作一个类型。

  

posted @ 2016-06-14 14:57  叶知泉  阅读(311)  评论(0编辑  收藏  举报