API 介绍

关于 Filter 的 API 有下面几个:

  1. Filter() Filter
  2. NumFilter() int
  3. FilterByIndex(index int) Filter
  4. SetFilter(filter ...Filter) Client | Service
  5. AddFilter(filter ...Filter) Client | Service
  6. RemoveFilterByIndex(index int) Client | Service
  7. RemoveFilter(filter ...Filter) Client | Service

上面几个 API 中,客户端和服务器相同,返回值标为 Client | Service 是指客户端和服务器端返回值不同,客户端返回的是 Client,服务器端返回的是 Service,目的是为了可以实现链式调用。

Filter 方法

用来返回当前设置的 Filter,如果设置有多个,只返回第一个。

NumFilter 方法

返回当前客户端或服务器上设置的 Filter 的数量。

FilterByIndex 方法

返回 index 指定的 Filter。Filter 是按照添加顺序存放的。

SetFilter 方法

设置一个或多个 Filter,通过 SetFilter 方法设置会清空之前的设置。

AddFilter 方法

在已有的 Filter 后面增加一个或多个 Filter。

RemoveFilterByIndex 方法

删除 index 指定的 Filter,删除之后,后面的会往前移动。

RemoveFilter 方法

删除跟 filter 参数相等的 Filter,删除之后,后面的会往前移动。

接下来,我们看看使用 Filter 都能具体做些什么。下面这几个例子都是最简单的,看懂之后,你可以充分发挥你的才能写出各种功能强大的基于 Filter 的 Hprose 插件来。