首页 > 其他 > 详细

golang的函数

时间:2016-09-07 14:19:54      阅读:172      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!