LoginSignup
4
4

More than 1 year has passed since last update.

【Go言語を学習して感じたこと ~他の開発言語と比較してみた~】

Posted at

こんにちは。
新卒入社3年目文系出身のエンジニアです。
次の案件がGo言語を使用するとのことなので、
今ProgateやA Tour of Goを用いて学習しているのですが、
他の開発言語と異なる点を踏まえて、
印象的に感じたこと・驚いたことについてまとめてみました。
これからGo言語を勉強する方に参考になっていただければ幸いです。

変数の型定義が独特!

Java, JavaSciript, Go言語で比較していこうと思います。
Javaは型名、変数名の順番で定義していきます。

hello.java
String message = "";
Int number = 123;

JavaScriptでは、グローバル変数をつけると以下のようになります。
※グローバル変数とは?・・・プログラム内のどこからでも使える変数, 関数の外側でも使用することができる変数のことです。例)var, let

hello.javascript
var string message = ""
let int number = 123

しかし、Go言語だと変数名、型名の順番で定義していきます。

hello.go
var message string = ""
var number int = 123

JavaやJavascriptのほうが慣れていたこともあって、
定義するだけでGo言語は混乱するし、
すごく間違えそうやなと思いました笑

:=が便利!

var宣言の代わりに:=の代入文を使用し、暗黙的に型変換することができます。
ある程度見ればどの型かわかるようなものは、「:=」を使用したほうが時間短縮につながると思いました。

hello.go
i := 3;
boo := true;

関数定義は4文字のみ?

JavaやJavaScriptでは、public functionなどがっつり関数定義をしないといけないですが、Go言語は、funcだけで関数定義ができるらしいです。

hello.javascript
public function {
}
hello.java
public static void main() {
}
hello.go
func main() {
}

import文をグループ化できる

タイトル通りですが、Goではfactoredインポートステートメントを用いて、
import文をグループ化することができます。

hello.go
import (
    "fmt"
    "string"
)

このimport文をグループ化することはGoを学習して初めて知りました。
他の開発言語もあったらいいなぁなんて思ってしまいました。。

最後に

ここまで読んでくださり、ありがとうございました。
私自身、Go言語が初心者すぎるので、
今回学習しながら他の開発言語と比較してみて、
自分が印象的に思ったこと・驚いたことを簡潔にまとめてみました。
これからGo言語を使用するにあたって、
研究していきながら日々知見を増やしていきたいと思います。

参考URL

Go言語学習サイト

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4