2017-08-27 6 views
0
func (t *SimpleAsset) Init(stub shim.ChaincodeStubInterface) peer.Response 

私たちはChaincodeためGo言語を使用するhyperledgerを理解しようとしています。しかしここで私は(t* SimpleAsset)が何であるか理解できません。 私はunitが関数の名前であることを理解しています。スタブ部分が引数で、peer.Responseが戻り値の型です。私が新しくなったのでGoあなたに感謝してください。次のコードでこの機能では(T * SimpleAsset)とは何である

+0

'(t * SimpleAsset)'は、これが 'SimpleAsset'構造体のメソッドであると言います。 – Malice

+0

go構造体では、クラスなどのメソッドがあるのでしょうか? –

+2

これはすべてをクリアするはずです:-)。 https://gobyexample.com/methods – Malice

答えて

2

func (t *SimpleAsset) Init(stub shim.ChaincodeStubInterface) peer.Response 

(t *SimpleAsset)レシーバあります。他の多くの言語とは異なり、(ユーザ定義)タイプ(関数を含む)にメソッドを追加することができます。メソッドを追加するタイプはここにあります。

このコードの作成者はselfまたはthisのようなものではなく、受信者の名前をtにしています。 Goでは、受信者に名前を付ける特別なルールはありません。パラメータと同じように名前を付けるだけです。

Go by exampleには基本的な説明がありますが、the Go specificationも非常に役に立ちます。

関連する問題