为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以在 go 中编写“流畅”风格的 api?

是否可以在 go 中编写“流畅”风格的 api?

Go
摇曳的蔷薇 2021-06-04 14:00:32
其他几种语言具有“流畅”或链式调用风格的 api,它允许您执行如下调用:public class CatMap : ClassMap<Cat>{  public CatMap()  {    Id(x => x.Id);    Map(x => x.Name)      .Length(16)      .Not.Nullable();    Map(x => x.Sex);    References(x => x.Mate);    HasMany(x => x.Kittens);  }}值得注意的例子包括 fluent nhibernate、jquery 方法链等。这是一种常见的(我会说非常受欢迎)api 设计模式。问题:go 语法似乎不支持这一点。你可以在 go 中做到这一点:var blah = X().Y().Thing().OtherThing()...但是这个:package mainimport "n"func main() {    n.Log(":D")    .Example()    .Example}结果是:> command-line-arguments> ./app.go:7: syntax error: unexpected ....基本上,因为 go 会自动在行尾插入 ; 。有谁知道是否有办法解决这个问题?你能禁用自动吗?在一个街区不知何故?或者这种api在go中是不可能的?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信