以下の内容はhttps://tech-up.hatenablog.com/entry/2018/12/14/181930より取得しました。


APIを扱うメソッド・関数の返り値【Go】

APIを扱うメソッド・関数の返り値について、
structの場合はポインタ渡し、
スライスの場合は値渡しとすることが一般的です。

スライスは配列に対するエイリアスですので、ポインタとする必要性がなく、
structの場合は、コピーが作成されてしまうので
ポインタとして返した方が、余計なオーバーヘッドが無くなります。

type APIClient struct {
    key        string
    secret     string
    httpClient *http.Client
}

type ResponseSendChildOrder struct {
    ...
}

type Order struct {
    ...
}

func (api *APIClient) SendOrder(order *Order) (*ResponseSendChildOrder, error) {
    ...
    return &response, nil    // ポインタ
}

func (api *APIClient) ListOrder(query map[string]string) ([]Order, error) {    // Order型のものを複数含んだスライスを返す
    ...
    return responseListOrder, nil    // 値
}





以上の内容はhttps://tech-up.hatenablog.com/entry/2018/12/14/181930より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14