var _ ipc.Server = &CenterServer{}//// 确认实现了Server接口

var _ ipc.Server = &CenterServer{}//// 确认实现了Server接口
《GO语言编程》有一段这样的代码

_ 符号的作用是什么,类似于这样检查是是为了检查是否实现了某个接口的,会不会真的去创建一个CenterServer这样的东西。如果写大量这样检验的代码是不是会创建大量的无用的结构。
还是说它并不会去创建对象,只是用来检验是否实现接口

阅读 4.8k
1 个回答
新手上路,请多包涵

不会创建多余的东西。

这里是相关的spec:http://golang.org/ref/spec#Declarations_and_scope

注意里面讲的关于blank identify的部分:
The blank identifier may be used like any other identifier in a declaration, but it does not introduce a binding and thus is not declared.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题