質問編集履歴
1
まとめ
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
【Go】引数
|
1
|
+
【Go】引数にinterface
|
test
CHANGED
@@ -1,30 +1,4 @@
|
|
1
|
-
gRPCでエラーメッセージの詳細を加えるときに使用するメソッドに以下のようなものがあります。
|
2
|
-
|
3
|
-
```go
|
4
|
-
func (s *Status) WithDetails(details ...proto.Message) (*Status, error) {}
|
5
|
-
```
|
6
|
-
|
7
|
-
そのメソッドの詳細を確認してみると...
|
8
|
-
|
9
|
-
1.Message型を引数に取る そのMessage型とはprotoiface.MessageV1型であり、それはinterface型である
|
10
|
-
|
11
|
-
```go
|
12
|
-
type Message = protoiface.MessageV1
|
13
|
-
```
|
14
|
-
|
15
|
-
```go
|
16
|
-
type MessageV1 interface {
|
17
|
-
Reset()
|
18
|
-
String() string
|
19
|
-
ProtoMessage()
|
20
|
-
}
|
21
|
-
```
|
22
|
-
|
23
|
-
2.そうなるとMessageV1 interface型を満たしている構造体型が引数に来る
|
24
|
-
|
25
|
-
ここで質問です。
|
26
|
-
|
27
|
-
|
1
|
+
interface型を満たしている構造体はどこから探すのかという疑問です。
|
28
|
-
その構造体をどこから探せばいいのでしょうか?
|
2
|
+
その構造体をどこから探せばいいのでしょうか?
|
29
3
|
|
30
4
|
宜しくお願い致します。
|