こんにちは!フリーエンジニアのヤマシタです。
Go言語って聞いたことはあるけど、実際に、
と疑問に思っている方も多いと思います。ここでは、これからプログラミングを初めて見たい方や、他のプログラミング言語も学んでみたい方に向けて、
- Go言語とは何か?
ということを、初心者の方でもわかるようにGo言語の基礎の基礎を解説していきます。後述しますがGo言語は覚えておいて損はない言語ですので、興味のある方はぜひご覧になってください!
この記事の目次
プログラミング言語「Go」とは
Goとは何か
「Go」は、Googleによって開発されたプログラミング言語の1つです。
Go言語の公式サイトによると、
- Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
「Goは、オープンソースのプログラミング言語であり、シンプルで信頼性の高い効率的なソフトウェアを簡単に構築できます。」
と、説明されています。Go言語は公式で説明しているとおり、シンプルな構文や軽量な動作でプログラミングが容易で、近年Goを採用する企業も増えてきています。
Goの歴史
Go言語はGoogleが2009年にリリースした比較的新しい言語です。当初はLinuxとMac OSのみのサポートでしたが、2013年3月にリリースされたバージョン1.0からはWindowsにも対応するようになりました。
2017/6時点での最新版は、2017/5/24にリリースされたバージョン1.8.3になります。↓はGoの公式マスコットキャラクター「Gopher(ホリネズミ)くん」です。
公式サイトにはGopherくんの画像がたくさんあります♪
https://golang.org/doc/gopher/
Goは人気急上昇中の言語
Goは上述したようにシンプルな構文で、記述しやすいプログラミング言語のため、近年人気のある言語の1つです。TIOBE Softwareが公開している人気プログラミング言語の指標でも、2017/6時点でGoは15位と上位にランクインしています。
去年の2016/6時点では48位だったことから、その使いやすさや軽量なプログラミングで人気が急上昇していることがわかります。そのため、今学ぶべき言語であることは言うまでもありませんね。
プログラミング言語のランキングについては、以下の記事でも詳しく解説しています!
Goの特徴
Goの言語仕様
Go言語はプログラマーの生産性を向上するために作られたオープンソースのプログラミング言語です。
特徴として、表現力豊かにコードを簡潔に記述することが可能で、軽量な並列処理でマルチコアやネットワーク化された複雑なシステムを構築するのに向いている言語と言えます。
Go言語はCやJavaのように、コンパイラによって作成されたオブジェクトを実行することによって、動作するコンパイル言語です。公式によると、コードを作成するためには、公開レポジトリでメンテナンスされているオープンソースを扱うことを想定して設計されています。
ソースコードはルート以下のワークスペース内に置いておきます。ワークスペースは以下の3つのディレクトリ階層で構成されます。
- src:主にGoのソースファイル
- pkg:パッケージオブジェクト
- bin:実行ファイル
詳細については、公式サイトのドキュメントをご覧ください。
URL:http://golang-jp.org/doc/code.html
Goの難易度
Go言語は前述したようにわかりやすい文法で、言語仕様が小さく学習するための負荷が少ないので、新人やこれからプログラミングを始める初心者にもオススメの言語です。
また、CやJavaなどのプログラミング言語と構文が似ているため、これらの言語の経験があるなら、比較的容易に習得することが可能です。Goはコンパイル言語のため、プログラムを実行するためのオブジェクトを作成するために、コンパイルを実行する必要があります。
そのため、コンパイル時に構文のエラーや怪しい箇所を一通り洗い出してくれるので、何度もトライ&エラーを繰り返して学習するのにも向いています。
Goの採用事例
最近ではGo言語の認知度も高くなり、採用する企業も増えてきました。
開発元であるGoogleも開発の一部でGo言語が使用されていますし、有名なクラウドストレージサービスである「DropBox」もGoの採用を表明しています。
また、国内ではブログサービス大手の「はてな」やフリマアプリ「メルカリ」、ニュースアプリ「Gunosy」などもサービスの1部にGo言語を使用しています。
Goの求人
ここでは、気になるGo言語の求人数や、実際にどんな案件があるのか見ていきましょう!
Goの求人数
有名なビジネスSNSサービスの大手である「Wantedly」でGo言語を検索したところ、1925件のGo言語関連の求人が見つかりました。
URL:https://www.wantedly.com/search?q=Go
他の人気言語に比べて求人数は劣りますが、それでも求人数は多く、認知度が上がって採用する企業も増えてきています。そのため、今後はさらに求人数が増えると予測することができます。
Goの案件例
Go言語では実際にどんな案件があるのでしょうか?求人サイトからGo言語の案件の内容をいくつか見ていきましょう。
レバテックフリーランス
Goの実務経験があれば〜800,000円の案件となっています。
URL:https://freelance.levtech.jp/project/detail/11773/
ポテパン
こちらもソーシャルゲーム機能開発支援の案件で〜800,000円の案件となっています。
URL:https://freelance.potepan.com/project/33066
A-STAR
IoTエンジニアとしてGo言語によるAPIサーバの開発案件です。750,000~850,000円は大きいですね!
URL:https://agency-star.com/projects/?skill=446
Go言語の基礎の基礎
ここでは、実際にGo言語で作った簡単なプログラムを実行してみましょう。Goのプログラムを動かすためには、Goディストリビューションのダウンロード&インストール及び、Goツールを導入する必要があります。
詳しくは以下の公式サイトを参考にしてください。
URL:http://golang-jp.org/doc/install
以下ではどのプログラミング言語でも、まずは最初に実行するであろう”Hello World!!”を画面に出力する簡単なサンプルを紹介します。
package main import "fmt" func main(){ //出力結果 fmt.Println("Hello World!!") }
実行結果 Hello World!!
Go言語はJavaのようにワークスペースで作成したパッケージを最初に宣言します。Go言語はパッケージで構成されているため、最初のpackage文は必須となります。
import文は、プログラム内で使用するパッケージを文字列で指定します。関数はfuncで定義し、このサンプルでは関数名を「main」で宣言しています。
Go言語の学習におすすめな人
ここまで解説したGo言語の内容をまとめると、人気急上昇中・効率的なソフトウェアの開発が可能・コードの書き方はシンプルで初心者におすすめだし学習し始めようと思っている人も多いのではないでしょうか?
しかし、もしあなたが完全未経験でプログラミング1言語目ならGo言語に決めるのはまだ早いかもしれません。
Go言語はネイティブコードを生成するための言語であるため、現在プログラマの人にとってはシンプルで見やすいのですが、完全未経験者にとってもわかりやすいかはまだ別の話です。
また、まだ誕生してから間もないため多くの求人数も多いとは言い難いです。このような理由から1言語目には他の言語の方がおすすめです。他の人気な言語だと、
- Ruby:Webサービス全般の開発が可能、参考書が豊富で学びやすい
- Python:人工知能や機械学習向き、年収高め
- PHP:多くのWebサービスで使われている、求人多め
- JavaScript:Webサービスやスマホアプリの開発も可能、フロントエンドエンジニアにおすすめ
などなど、あなたの開発したいもの・平均年収・求人数・学びやすさなど総合的にみて選ぶ必要があります。
おすすめなプログラミング言語は下記の記事で解説していますので見てみてください。

あなたに最適な言語がわかる無料体験レッスン
一番最初に学ぶプログラミング言語選定はとても大切です。
開発しているものに興味が持てず学習が進まなかったり、いざ転職活動始めたら想像していた会社が少なくて後悔しないためにも、「あなたのやりたいことと業界知識」を組み合わせて選ぶ必要があります。
しかし、そんなこと言われても未経験には難しいよというのが本音だと思いますので、そんなあなたはまず侍エンジニアの無料体験レッスンを受けてみてはいかがでしょうか?
無料体験レッスンでは、あなたがプログラミングに興味をもったきっかけや理想の人生像を聞かせていただいた上で、そうなるためのエンジニアのキャリアや最適な言語をご提案します。
これからの方向性に自信がもてることでプログラミング学習の効率も高まります。
下記の無料体験レッスン予約カレンダーより申し込みが可能ですので、お気軽にお越しください。プログラミングで人生を変えたいあなたを全力でサポートいたします。
まとめ
ここではGo言語について詳しい解説から、Goの採用事例や実際に募集している求人の内容、簡単なプログラムを作成するまで紹介しました。
説明したとおり、Go言語は扱いやすく人気も急上昇中であるため、今後も求人数は増えると思って間違いないでしょう。この機会にぜひGo言語を学習してみてはいかかでしょうか?