やや投げやりな質問ですいません。それなりに調べたけどわからなかったです。
GO言語で下記の様にinterfaceA内にinterfaceBが記載されています。動作を見る限り関数NewA()で取得した変数aがBのメソッドFooを使う事ができるみたいですが、具体的にどういう機能なのかドキュメントが見つからずよくわかりません。また、使いどころがよくわかりません。普通に関数NewB()でBの変数を取得してメソッドFooを使えばいいと思うのですが、その辺り教えてください。
GO
1package main 2 3type A interface { 4 B 5} 6 7type B interface { 8 Foo() 9} 10 11type BImpl struct { 12} 13 14func (b *BImpl) Foo() { 15 16} 17 18func NewA() A { 19 return NewB() 20} 21 22func NewB() B { 23 return &BImpl{} 24} 25 26func main() { 27 a := NewA() 28 a.Foo() 29}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。