《GO言語》golangの関数値とは?使い方・機能を解説

Go

goの関数の性質

goの関数はファーストクラス値である

goの関数は型を持ちます。またある変数に関数を代入することも可能です。これをファーストクラス値と言います。以下のプログラムをみてください。

add関数の型はfunc(int) int型であることがTypeOf関数からわかります。またadd関数を変数fに代入して、fがaddの関数のコピーになっていることを確認することができます。

異なる型を代入するとコンパイルエラー

goでは宣言された変数は型を持っています。変数が持つ型以外の値を代入するとコンパイルエラーになります。関数を変数に代入する時同じ型であれば、代入することが可能です。以下のプログラムをみてください。

add関数が格納された変数fにadd関数と同じ型のsquare関数を代入できることが確認できます。次に異なる型を代入した時にコンパイルエラーが発生するかどうかを確認してみましょう。

cannot use multiple (type func(int, int) int) as type func(int) int in assignmentと型エラーが発生することが確認できます。

関数値について

関数の引数および戻り値として使用できる値

Goの公式サイトによると以下のように書かれていました。

Functions are values too. They can be passed around just like other values.

Function values may be used as function arguments and return values.

引用:「A Tour of Go」

A Tour of Go

関数は関数の引数としても利用可能であり、戻り値としても使えます。割とこの辺は当たり前の感覚なので、言われなくてもそりゃそうだろ!となってしまいますが、改めて明確に定義されていると考えて問題なさそうです。

番外編:働くエンジニアにおすすめアイテム3撰

記事の内容とは別に、日々エンジニアの業務を行う上で役に立っているアイテムを紹介します。どれも実際に使って良いと思ったものだけ紹介していますのでその点はご安心ください。

目の保温マッサージ

普段の業務で一番疲れる目を癒すために目元マッサージャーを毎日使っています。保温とマッサージを自動でしてくれるので、終わった後は血行が良くなり、翌日の目の疲労が激減します。また睡眠の質もあがるのでディスプレイと睨めっこの職業の方は必須アイテムだと思ってます。(笑)

座っている時の負担を減らす

8時間働くとして、その時間の殆どが椅子に座っている状態になるのがエンジニアの宿命です。椅子の性能が低いと身体に余計な負荷を掛けることとなり、良い椅子に座っている人と、そうでない椅子に座っている人にかかる1日の負担はかなり大きいです。ですので、身体への負荷を考えて、できるだけ良い椅子に座るべきです。とは言っても会社の椅子は既に決まっているので以下のクッションを購入することをおすすめします。体を包み込むようなフォールド性があり、疲労や腰の痛みなどが激減します。

自宅での作業効率をあげる椅子

最近購入したのがゲーミングチェアです。楽天ゴールドカードを持っている私は、Amazonではなく楽天市場でこの機種と似たようなものを購入しました。価格帯はほぼ同じで、このゲーミングチェアはAmazon内での評判も良いみたいですし、おすすめです。その理由は作業し終わった後の疲労感が異なり、座り心地もホールド感があって最高ですし、見た目がかっこいいからです。予算に余裕のある方は購入してみてはいかがでしょうか?

エンジニアの基礎知識・教養

別の記事でエンジニアとして知っておくべき技術本についてまとめました。スキルの高いエンジニアは極々当たり前にしっている知識だとおもいますが、そうでない方はエンジニアとして最低限知らないとまずい知識ですのでどこかで購入し、読むことをお勧めします。

筆者
筆者

今回の記事の内容は以上で終了です。最後まで読んでくれてありがとうございます。また技術、経済、株式投資などのことを Twitter でも呟いていますので良かったらフォローよろしくお願いします。

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