码迷,mamicode.com
首页 > 其他好文 > 详细

golang的函数

时间:2016-09-07 14:20:29      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

在golang中, 函数是第一类值(first-class object), 即函数可以赋值与被赋值. 换言之, 函数也可以作为ReceiverType, 定义自己的method. 实例:

http.HandleFunc(pattern string, handler func(ResponseWriter, *Request))

就是使用上述思想实现.

type HandlerFunc func(ResponseWriter, *Request)

func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request){

    f(w,r)

}

定义HandlerFunc类型, 本质为func(ResponseWriter, *Request). 然后定义ServeHTTP(RequestWriter, *Request)方法, 即让共实现 

type Handler interface{

    ServeHTTP(ResponseWriter, *Request)

}

感觉与Java思想很大冲突... 也显得很深奥.

golang的函数

标签:

原文地址:http://www.cnblogs.com/zolo/p/5849096.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!