今更聞けない!プログラミング言語「Go」とは何か?

image
書いた人 ヤマシタ

こんにちは!フリーエンジニアのヤマシタです。

Go言語って聞いたことはあるけど、実際に、

「Go言語ってどんなプログラミング言語なんだろう?」

と疑問に思っている方も多いと思います。

ここでは、これからプログラミングを初めて見たい方や、他のプログラミング言語も学んでみたい方に向けて、

「Go言語とは何か?」

ということを、初心者の方でもわかるようにGo言語の基礎の基礎を解説していきます!

後述しますがGo言語は覚えておいて損はない言語ですので、興味のある方はぜひご覧になってください!

プログラミング言語「Go」とは

image_1

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
出典:The Go Blog Renée French

公式サイトにはGopherくんの画像がたくさんあります♪
https://golang.org/doc/gopher/

Goは人気急上昇中の言語

Goは上述したようにシンプルな構文で、記述しやすいプログラミング言語のため、近年人気のある言語の1つです。

TIOBE Softwareが公開している人気プログラミング言語の指標でも、2017/6時点でGoは15位と上位にランクインしています。

runk

去年の2016/6時点では48位だったことから、その使いやすさや軽量なプログラミングで人気が急上昇していることがわかります。

そのため、今学ぶべき言語であることは言うまでもありませんね。

プログラミング言語のランキングについては、以下の記事でも詳しく解説しています!

Goの特徴

image2

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の求人

image3
ここでは、気になるGo言語の求人数や、実際にどんな案件があるのか見ていきましょう!

Goの求人数

有名なビジネスSNSサービスの大手である「Wantedly」でGo言語を検索したところ、1925件のGo言語関連の求人が見つかりました。

wantedry
URL:https://www.wantedly.com/search?q=Go

他の人気言語に比べて求人数は劣りますが、それでも求人数は多く、認知度が上がって採用する企業も増えてきています。

そのため、今後はさらに求人数が増えると予測することができます。

Goの案件例

Go言語では実際にどんな案件があるのでしょうか?

求人サイトからGo言語の案件の内容をいくつか見ていきましょう。

レバテックフリーランス

Goの実務経験があれば〜800,000円の案件となっています。

anken1
URL:https://freelance.levtech.jp/project/detail/11773/

ポテパン

こちらもソーシャルゲーム機能開発支援の案件で〜800,000円の案件となっています。

anken2
URL:https://freelance.potepan.com/project/33066

A-STAR

IoTエンジニアとしてGo言語によるAPIサーバの開発案件です。

750,000~850,000円は大きいですね!
anken3
URL:https://agency-star.com/projects/?skill=446

Go言語の基礎の基礎

image4

ここでは、実際にGo言語で作った簡単なプログラムを実行してみましょう。

Goのプログラムを動かすためには、Goディストリビューションのダウンロード&インストール及び、Goツールを導入する必要があります。

詳しくは以下の公式サイトを参考にしてください。
URL:http://golang-jp.org/doc/install

以下ではどのプログラミング言語でも、まずは最初に実行するであろう”Hello World!!”を画面に出力する簡単なサンプルを紹介します。

Go言語はJavaのようにワークスペースで作成したパッケージを最初に宣言します。

Go言語はパッケージで構成されているため、最初のpackage文は必須となります。

import文は、プログラム内で使用するパッケージを文字列で指定します。

関数はfuncで定義し、このサンプルでは関数名を「main」で宣言しています。

まとめ

ここではGo言語について詳しい解説から、Goの採用事例や実際に募集している求人の内容、簡単なプログラムを作成するまで紹介しました。

説明したとおり、Go言語は扱いやすく人気も急上昇中であるため、今後も求人数は増えると思って間違いないでしょう。

この機会にぜひGo言語を学習してみてはいかかでしょうか?


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


最短でプログラミングを習得したい方へ

元々ITリテラシーのある方やプログラムの学び方がわかっている方は独学で習得することも可能でしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「もう挫折したくない」
「本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい。」
「自分だけのカリキュラムで効率的に勉強したい」

そんな方はお気軽に侍エンジニア塾までご相談ください。

弊社では、

  • プログラミング基礎学習
  • オリジナルアプリ開発
  • 仕事獲得

までをひと通り学習できます。

まずは無料体験レッスンで、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

挫折しない学び方や、通常1000時間以上かかる学習時間を1/3にする方法などより具体的なアドバイスもさせていただいています。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta1

学習者インタビュー

人気記事セレクション

エンジニア転職希望者必見

プログラミング学習者必見

LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

ヤマシタ

フリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、今まで200本以上の執筆経験があります