技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

Visual Stadio Codeを使用する環境構築【Go】

Goとは

Googleが開発するサーバーサイドのプログラミング言語です。

サーバーサイドのプログラミング言語では、日本人に馴染み深いPHPRuby
機械学習に便利なモジュールを揃えているPythonなどがあります。
例えばPHPフレームワークであるLaravelなどはとても高機能であり、
それ一つで完結するモノリシックなサービスには便利です。
ただし、Pythonにも当てはまることですが、実行速度は決して優れているとは言えません。
対してGoはシンプルであり、速度は高速と言われるJava並、かつメモリの使用量が圧倒的に少なく効率的です。

最近のサービス開発のトレンドは、マイクロサービスによる開発です。
それぞれの機能に必要な要件を高い次元で満たす言語を選択し、組み合わせてサービスを開発する手法です。
機械学習やデータ分析はPythonに任せ、通知などリアルタイム性が問われる機能にはGoを、といった形でしょうか。

IoTなど、これからの時代は安定して高速に通信する機能が求められるでしょう。
実際にアメリカのシリコンバレーや日本のスタートアップ界隈でも盛り上がりを見せてきています。
数年後には広く普及する言語になることが期待されている、次世代の言語と言えるではないでしょうか。

インストール

下記にアクセスして、ダウンロードしてインストール作業へ。
The Go Programming Language

環境変数

デフォルト設定から変更したい場合は、bashファイルに下記を指定する。
デフォルトは Users/xxxx/go かと思います。

export GOPATH=$HOME/<任意のフォルダ>
export PATH=$PATH:$GOPATH/bin

go get ~でパッケージをインストールすると、上記PATHにダウンロードされます。
パッケージは基本githubからインストールするので、gitやhomebrewのインストールが必要です。

Visual Stadio Codeを拡張

Visual Stadio Codeはマイクロソフト社による無料で使えるテキストエディターです。
会社や個人による拡張機能がたくさん提供されているほか、見た目や検索、置換機能も使いやすくオススメです。

Goの開発を進めるにあたり、インストール必須の拡張機能はこちら。
予測変換などを通して開発スピードが上がります。
f:id:tech-up:20181118143947p:plain

また、Golangとは直接関係はないですが、個人的にこちらの拡張機能はオススメです。
bracesなどの対応関係が色によって一目でわかります。
f:id:tech-up:20181118144311p:plain

プロジェクト作成

GOPATH以下にsrc/~でフォルダを作成し、Visual Stadio Codeで開きます。
このままだと動作しませんので、必要なコマンドラインツールをインストールします。
「Cmd+Shift+P」を押下し、「GO: Install/Update tools」をクリックします。
インストールが完了したら、go/src/~/ に.goファイルを作成して開発スタートです。

学習方法

Udemyで学習を進めていきます。
初見の言語は、動画を使うと早く大枠をつかむ事ができると感じます。
わからないことは講師に質問できますし、検索すれば大抵のことは解決できるはずです。

まずはこちら。
https://www.udemy.com/go-fintech/
酒井さんは異色の経歴で、大学サッカー日本代表からNTT、ハワイでの起業などを経て、
現在はシリコンバレーにあるSplunk本社でエンジニアとして働かれています。
解説が非常にわかりやすく、オススメです。


上記で学習したのち、こちらで理解を深めていきます。
https://www.udemy.com/go-programming-language/
こちらは、アメリカのカリフォルニアで大学講師をされている方のコースです。
基本を細かく丁寧に解説してくれています。内容量が非常に多いので、理解が深まると感じました。
基礎の中でも、酒井さんのコースがどちらかとい言えば応用に近く、こちらのコースは基礎固めと捉えています。