var _ ipc.Server = &CenterServer{}//// 确认实现了Server接口
《GO语言编程》有一段这样的代码
_ 符号的作用是什么,类似于这样检查是是为了检查是否实现了某个接口的,会不会真的去创建一个CenterServer这样的东西。如果写大量这样检验的代码是不是会创建大量的无用的结构。
还是说它并不会去创建对象,只是用来检验是否实现接口
var _ ipc.Server = &CenterServer{}//// 确认实现了Server接口
《GO语言编程》有一段这样的代码
_ 符号的作用是什么,类似于这样检查是是为了检查是否实现了某个接口的,会不会真的去创建一个CenterServer这样的东西。如果写大量这样检验的代码是不是会创建大量的无用的结构。
还是说它并不会去创建对象,只是用来检验是否实现接口
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.3k 阅读
2 回答2.2k 阅读
1 回答2.1k 阅读
1 回答1.5k 阅读
不会创建多余的东西。
这里是相关的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.