こんにちは。
新卒入社3年目文系出身のエンジニアです。
次の案件がGo言語を使用するとのことなので、
今ProgateやA Tour of Goを用いて学習しているのですが、
他の開発言語と異なる点を踏まえて、
印象的に感じたこと・驚いたことについてまとめてみました。
これからGo言語を勉強する方に参考になっていただければ幸いです。
変数の型定義が独特!
Java, JavaSciript, Go言語で比較していこうと思います。
Javaは型名、変数名の順番で定義していきます。
String message = "";
Int number = 123;
JavaScriptでは、グローバル変数をつけると以下のようになります。
※グローバル変数とは?・・・プログラム内のどこからでも使える変数, 関数の外側でも使用することができる変数のことです。例)var, let
var string message = ""
let int number = 123
しかし、Go言語だと変数名、型名の順番で定義していきます。
var message string = ""
var number int = 123
JavaやJavascriptのほうが慣れていたこともあって、
定義するだけでGo言語は混乱するし、
すごく間違えそうやなと思いました笑
:=が便利!
var宣言の代わりに:=の代入文を使用し、暗黙的に型変換することができます。
ある程度見ればどの型かわかるようなものは、「:=」を使用したほうが時間短縮につながると思いました。
i := 3;
boo := true;
関数定義は4文字のみ?
JavaやJavaScriptでは、public functionなどがっつり関数定義をしないといけないですが、Go言語は、funcだけで関数定義ができるらしいです。
public function {
}
public static void main() {
}
func main() {
}
import文をグループ化できる
タイトル通りですが、Goではfactoredインポートステートメントを用いて、
import文をグループ化することができます。
import (
"fmt"
"string"
)
このimport文をグループ化することはGoを学習して初めて知りました。
他の開発言語もあったらいいなぁなんて思ってしまいました。。
最後に
ここまで読んでくださり、ありがとうございました。
私自身、Go言語が初心者すぎるので、
今回学習しながら他の開発言語と比較してみて、
自分が印象的に思ったこと・驚いたことを簡潔にまとめてみました。
これからGo言語を使用するにあたって、
研究していきながら日々知見を増やしていきたいと思います。
参考URL
Go言語学習サイト