はじめに
ソフトウェア開発の世界には、多くのプログラミング言語があります。
Python、JavaScript、C、Ruby、最近ではRustやKotlinなど、それぞれ特徴があります。
様々なプログラミング言語に触れてきました。その中でも私が特に印象に残っているGo言語について解説したいと思います。
Go言語とは
"Go"という名前にもあるようにGoogleが開発した言語です。
2009年に発表され、現在では様々なサービスに利用されています。
日本のサービスだと、メルカリやクックパッドなどがあります。1
特徴
特徴は大きく分けて3つほどあります。後ほど順に解説します。
- コンパイラ型
- 記述がシンプル
- 未使用の変数、モジュールはエラーになる
コンパイラ型
まずはコンパイラ型であるという点です。
プログラム言語は大きく分けると、インタプリタ型とコンパイラ型があります。
インタプリタ型はpythonを代表としたソースコードを1行ずつ機械語プログラムに変換する言語です。
コンパイラ型は全て変換して実行するので実行速度が速いという特徴があります。
記述がシンプル
pythonのように、変数宣言で型推論が行われます。以下は変数宣言の例です。
var num int //初期値なし
var num int = 0 //初期値あり
var num = 0 //型推論あり
num := 0 //型推論あり varなし
他の言語では普通に備わっている機能がいくつか使用ができません。
その分書き方が統一され、シンプルになります。
以下に例を挙げます。
- while文
- 三項演算子
- 例外処理
未使用の変数、モジュールはエラーになる
プログラム内に未使用の変数やモジュールがあるとエラーになり、ビルドができません。
package main
import "fmt"
import "io"
func main(){
a := 1
b := 2
c := 3
fmt.Printf("num = %d", a+b)
}
ビルドしようとするとエラーになります。
.\test.go:4:8 "io" imported and not used
.\test.go:8:2 c declared and not used
動作しているコードに宣言されている変数やモジュールは必ずどこかで使われているので、可読性が高まります。
開発方法
クロスコンパイルに対応しています。
Windows環境でMacOSやLinuxで動作するバイナリを生成するといったことが可能です。
Go開発者の多くはVisual Studio Code を使用しています。2
環境構築も簡単なので是非触ってみてください。