首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何声明一个方法,该方法返回的选项值在Thrift/Scrooge中?

我如何声明一个方法,该方法返回的选项值在Thrift/Scrooge中?
EN

Stack Overflow用户
提问于 2015-05-05 03:31:41
回答 1查看 448关注 0票数 3

我使用Scrooge生成了如下所示的Th裂隙接口代码:

代码语言:javascript
复制
struct UserInfo {
  1: i64 userId,
  2: string name
}

service userservice {
  UserInfo getUserById(1:i64 userId)
}

Scrooge将从上面的IDL文件:def getUserById(userId: Long): Future[UserInfo]生成此方法。

然而,在scala中,可能没有的值可以通过选项数据类型来表示。因此,在Scala中生成的节约代码看起来可能类似于def getUserById(userId: Long): Future[Option[UserInfo]]。虽然该选项是scala特定的,但是否仍然可以让Scrooge支持这一点?

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-10 09:05:22

您可以使用list<T>来模拟选项。而且,由于选项可以被看作是0\\1元素的集合,所以从语义的角度来看,这个替换也是正确的。

要将此列表转换为Scala代码中的选项,可以使用headOption方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30043804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档