【GO言語】golangの関数の引数が多いから整理して解説

プログラミング

謎の多数の引数に遭遇

初めて、goで書かれた関数をみたときに戸惑いました。

 

 

まず「どれが引数?」「*ってなに」等知らないことのコンボで困った… なので1つずつ整理していくことにしました。

 

GOの関数の書き方を整理

 

GOの関数の書き方

これがGOの関数の基本形となります。レシーバ型は馴染みがないワードですね。

 

引数はcount

GetTitles(c)のcは引数として、GetTitles(count int)のcountに渡されます。つまりこの場所で引数を受け取っているんです。

 

戻り値の型

Goは戻り値の型を指定できるんです。
(*[]response.Title, error)
は通常時は*[]response.Titleの型、エラー時はerrorの型で書くと定義しています。

 

Implの意味

implementationの略
implementation:ほのめかす

Implをつける意味

・インターフェイスを使わせるのが目的。実装クラスは直接さわってほしくない
・クラスがインターフェイスを実装させるのを目的にしていることを明示したい

ここではあるインターフェイスを実装したクラスにつけたと考察。

 

 

参考サイト
http://d.hatena.ne.jp/Kazzz/20061209/p2
https://qiita.com/suin/items/00656d9dbd2f26dd8b91
https://qiita.com/pei0804/items/2a3010df39623fadc3c6

 

 

タイトルとURLをコピーしました