aceld / aceld/zinx

znet/request.go 文件中Request对象index成员的初始值问题

オープン
#323 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Go
スター
7.8k
フォーク
1.3k
PR マージ指標
30日以内にマージされた PR はありません

説明

Question: 为什么在NewRequest()方法中给index成员变量赋值为-1,同时在Request对象的RouterSlicesNext()方法中第一行r.index++, 意为在-1的基础上加一。但是如果直接在初始化时给int类型的默认值,那么在RouterSlicesNext()方法中就可以直接执行for循环,而不用额外执行r.index++语句。请问这样设计是出于什么目的吗?

```go
func NewRequest(conn ziface.IConnection, msg ziface.IMessage) ziface.IRequest {
...
...
req.index = -1
return req
}
```

```go
func (r *Request) RouterSlicesNext() {
r.index++
for r.index < int8(len(r.handlers)) {
r.handlers[r.index](r)
r.index++
}
}
```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。