えんじにぃーあぶろぐ

あまり長い文章は好きではないので、長い時間をかけないで読める、簡単な内容を目指すエンジニアのブログです。

Go's Declaration Syntax

さて

 

週末いかがお過ごしでしょうか?

 

自分?

 

家事したりドライブしたり

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

昼寝したり

=====○)д`);.・;゛;ブッ 

 

 

 

 

 

 

 

 

 

 

 

 

 

さ、さて

 

Goの勉強を適度にしていると、プロフィールにも書いてありますが、

休日に「A Tour of Go」を再び読んでいました。

go-tour-jp.appspot.com

 

 

 

 

 

 

 

 

 

 

読んでいた人にはタイトルが何を示していたのか、お分かりだと思いますが、

 

タイトルはGoの構文についての記事です。

blog.golang.org

 

日本語版は有志の方が翻訳されていますね。ありがとうございます。

qiita.com

 

 

 

 

 

Goは比較的新しめの言語であるため、

既存の言語の不便な所を改善してあるところがあることが多いです。

 

こと、今回のGoの構文については記事にもある通り、

Cと比べてありますね。

 

 

 

 

 

C言語の場合は

戻り値の型 関数名(型 変数名,・・・) 

 

となっております。

 

記事内では複雑になると、ごちゃごちゃしてわけがわかないと書かれておりますが、

その理由は動線といいますか、

関数を解釈しようとするとき、右や左に行ったり来たりする、ということでしょうか。

 

 

例えば…

 

string main(int a(int x, int y), string tmp[10])

 

「戻り値はstring型で名前がこれ、引数は…

ふむふむ、int型が2つを引数に持つ関数と、string型の配列の2つなんだな。

int型2つの関数の戻り値は…int型か、

えーとつまり、一番上の関数はintとstringの配列を引数に持つ関数か。

戻り値の型はなんだっけ…そうそうstringか」

 

左から右に読んでいったつもりが、

思考をまとめるときに、左にまた読まなければいけないことになりますね。

 

 スパイラル状とも呼ぶそうです。

f:id:ygt1qa3:20190224205058j:plain

鳴門の渦巻きお勧めです。
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Goでは

func 関数名(変数名 型,・・・) 戻り値の型 

 という風ですね。

 

基本的に情報が右に集中しているので、左から右に読みながら

最後には一番上の関数の戻り値の型が記述してあることになるので、

本当に読んだまま解釈できるようになっております。

 

 

 

 

 

 

 

 

 

f:id:ygt1qa3:20190224204621j:plain

右から左じゃねぇか!

 

 

 

 

 

 

 

 

 

 

 

初めてGoを学び始めたとき、これすごい読みやすかった記憶があります。

 

それただC言語になれていないだけじゃないの?

=====○)д`);.・;゛;ブッ 

 

 

 

 

 

 

 

 

 

 

 

 今回の記事でポインタの話が出てきたので、

明日はそれを書こうかなと思います。

 

それでは。