Go言語を始めてみたので一旦感想

Created: 2026/02/03

はじめに

自分が触れてきた言語は、Python, Ruby, C/C++, JavaScript, PHPなどがあります。どれも中途半端ですが…😅
その中で、Goは独自の言語スタイルが特徴的だったので、自分なりにまとめてみます。

学習したてなので、内容は浅いです〜

Go言語について

前述した通り、Goは特徴的です。(自分にとって…)
初めは、モダンで構文がお堅いコンパイル言語だと思っていましたが、そんなことはなく、コードはシンプル過ぎて難しいと思うくらいでした。

参考書籍

https://www.shuwasystem.co.jp/book/9784798063997.html
書籍はこちらを読みました。
ハンズオンで、GUIアプリやWebサーバー構築まで網羅的にGo言語に触れられると思い選びました。
GUIで簡易エディタを作るのは楽しそうです(記事執筆時点では、まだやっていません)

ただ、書籍を読み、コードをコピペして実行するだけでは、理解が深まらないと思い記事を書いている次第です🧑🏻‍💻

本にもあるように「習うより、慣れろ!」ですね

自分なりに感じたGoの特徴 2選

① コードがシンプル

僕が触れたことのあるコンパイル言語は、C/C++やJavaです。それらのコンパイル言語よりシンプルに書けるのは個人的に驚きでした。具体的には、型推論が優秀でスクリプト言語のように書ける点です。

C言語であれば

main.c
1
2
int number = 2026;
char name[] = "horse";

Go言語では

main.go
1
2
number := 2026
name := "horse"

;がないのは、地味に楽

PythonやRubyなどのように書けるのは意外でした。
もちろん、型を明記した宣言の方法もあります。(次でやります)

② 型宣言

Go言語では、左→右への可読性を向上させるため、一般的な型宣言と逆になっています。

main.go
1
2
var number int = 2026
var name string = "horse"

var 変数名 型となり、numberという変数は、int型ですという感じです。
日本語でも、読みやすくなっていると感じるようになりました。
C言語などに慣れているので混乱する。やっぱり「習うより、慣れろ!」ですね🤣

関数でも

main.go
1
2
3
func findNemo(name string, distance float64) bool {
    // How you find
}

こんな感じで、関数名はfindNemoで、引数にnamestring型、distancefloat64型であり、戻り値はboolだな。
左から読みやすいのは、なんとなく感じました。(ニモって、Nemoだったんだ…😗)


以上、個人的特徴でした!