T-file

一歩踏み出す勇気を全力で応援するブログ

GO言語でのセミコロンの省略とエラーになる形

こんにちは、webエンジニアのtakaです。

PHPやJavaScriptによく慣れ親しんでいるとGO言語の微妙な違いに戸惑うことがあります。

今回はGO言語の文末のセミコロンについて記載していきたいと思います。

早速いってみましょう!

GO言語の文末にはセミコロンが必要

GO言語はセミコロンが必要です。
以下に例を示します。

fmt.PrintLn("hello");

これは理解しやすいですね。

セミコロンの省略が可能

セミコロンは省略可能で、逆にセミコロンが必要といった方が違和感があったかもしれません。

fmt.PrintLn("hello")

ほとんどの場合はこのセミコロンを省略した形で記載されていると思います。

1行の中で複数文を記載する場合はセミコロンを利用する必要がありますが、このような場面は少ないでしょう。

fmt.PrintLn("hello");fmt.PrintLn("bye");

PHPやJSではOKな書き方もGOではエラーに

注意したい点が以下のような場面です。

複数の値がある配列を定義しようとしています。

category := [3]string{'book', 'shop', 'travel'}

PHPやJSのノリで以下のように記載してしまうとコンパイルエラーが発生します。

category := [3]string{'book',
'shop',
'travel'
}

というのもコンパイル時に’travel’の後にセミコロンが挿入され以下のような認識となってしまうためです。

category := [3]string{'book',
'shop',
'travel'; // セミコロンが入る
}

なので以下のように終わりかっこをすぐ記載するか、最後の値もカンマを記載しましょう。

category := [3]string{'book',
'shop',
'travel'}
category := [3]string{'book',
'shop',
'travel',
}

これでOKです。

まとめ

今回はO言語の文末のセミコロンについて記載していきました。

言語間の細かい差異を理解して文法エラーなくプログラミングしてきたいですね。