こんにちは。
ITエンジニア・webディレクター・webデザイナーなどのIT人材の自立・キャリアを支援するITプロパートナーズ編集部です。
弊社では、独立精神旺盛な優秀なエンジニアの方々の独立・起業サポートや、フリーランス支援を行っています。
こちらでは、日々の現場でサポートさせていただいている中での、プロの目線で、エンジニアに役立つお話をしてまいります。
皆さんは「Go」というプログラミング言語を聞いたことがありますか。
比較的新しいプログラミング言語であるGo言語は、ここ数年で急速に広がりを見せています。
今回は「そもそもGo言語とは何か」や「Go言語の特徴」などを踏まえて、初心者向けのGo言語学習サービスを紹介していきます。
Contents
- 1 そもそもGo言語とは?
- 2 Go言語の特徴
- 3 ■Go言語を学習できるお薦めサービス8選
- 3.1 1.ドットインストール(http://dotinstall.com/lessons/basic_golang)
- 3.2 2.A Tour of Go(https://go-tour- jp.appspot.com/welcome/)
- 3.3 3.はじめてのGo言語(http://cuto.unirita.co.jp/gostudy/)
- 3.4 4.お気楽 Go 言語プログラミング入門
- 3.5 5.Developers.IO(http://dev.classmethod.jp/series/golang-2/)
- 3.6 6.golang.jp(http://golang.jp/go_tutorial)
- 3.7 7.@IT(http://www.atmarkit.co.jp/fcoding/index/go.html)
- 3.8 8.gihyo.jp(http://gihyo.jp/dev/feature/01/go_4beginners)
- 4 まとめ
そもそもGo言語とは?
Goは、Googleが2009年に発表したオープンソースのプログラミング言語です。
C言語の開発者であるKen Thompson(ケン・トンプソン)、UTF-8の開発者であるRob Pike(ロブ・パイク)などによって開発されています。
Goはシンプルな言語仕様が特徴で、言語学習が比較的容易です。また、標準パッケージが豊富にあるため、すばやく開発できます。
さらに膨大なコードでも高速にコンパイルできるため大規模開発にも適しています。
WindowsやOS X、Linuxなどの環境に合わせたクロスコンパイルが可能で、作成したプログラムを簡単に配布することもできます。
その他、並行処理のサポートも充実しており、ミドルウェアの開発にも適していると言われています。
Go言語の特徴
Goは、CやC++などが使用される分野において、より効率よくプログラムを書くことを目的に作られています。
1.シンプルな言語
Goでは、他の言語が持つ機能の多くを削ったことで言語をよりシンプルに保っています。
繰り返し構文では「for」文のみしかなく「最小限の構文」、ポイント演算や暗黙の型変換などが削除されることによる「危険の回避」、発生した異常を戻り値として呼び出し側に返す方針を取る「例外の排除」などが特徴です。
2.クロスコンパイル/並行処理のサポート
Goは、コンパイル時にOSとCPUアーキテクチャを指定し、環境に合わせた実行ファイルを生成できます。
また、軽量スレッド(ゴルーチン)を用いて処理を実行し、同時に実行されているゴルーチンの間でチャネルと呼ばれる機能でデータをやり取りします。
3.充実した開発環境
Goでは開発を支援する様々なパッケージやツールが用意されています。さらにエディタやツールのためのプラグインも豊富に開発されています。
4.採用事例
Goは、並行性を活かしたミドルウェアの開発やクロスコンパイルを活かしたコマンドラインツールなどに採用されています。最近急速に普及しつつあるコンテナ型仮想環境ツール「Docker」などに採用されています。
■Go言語を学習できるお薦めサービス8選
ここからは、Go言語入門者を対象とした学習サービスを紹介していきます。
1.ドットインストール(http://dotinstall.com/lessons/basic_golang)
無料学習サービス「ドットインストール」のGo入門講座です。プレミアム会員向け有料コンテンツもありますが、無料のコンテンツの閲覧が可能です。
1つの動画の再生時間が3分以内と短いのが特徴で、Go言語の基礎を簡単に学ぶことができます。
2.A Tour of Go(https://go-tour- jp.appspot.com/welcome/)
Go言語の公式サイト「golang.org」の日本語訳サイトです。Goのインストール方法やコードの記述方法、最新情報などの基本的なドキュメントが豊富に提供されています。
ATourofGoでは、Webブラウザ上でGoの学習ができるようになっています。
3.はじめてのGo言語(http://cuto.unirita.co.jp/gostudy/)
Go言語入門者向け情報サイトです。初心者向けに基礎概念の説明から中級者向けのコンテンツなどが用意されています。
また、Goの平行処理機能であるゴルーチンを分かりやすく説明しています。
4.お気楽 Go 言語プログラミング入門
(http://www.geocities.jp/m_hiroi/golang/index.html#abc)
プログラミング経験者向きの無料学習サービスです。関数や構造体、並行プログラミングなどの解説に加えて、電卓プログラムの作成や改良を通して、Go言語による開発の基礎を理解することができます。
5.Developers.IO(http://dev.classmethod.jp/series/golang-2/)
技術者向けの情報を提供するサービス「Developer.IO」のGo言語の入門記事です。
「急いで学ぶGo lang」というタイトルでブログを読んでいる感じでGo言語の企保手的な概念や関数、制御構文、基本構文などを理解することができます。
6.golang.jp(http://golang.jp/go_tutorial)
Goの公式サイトの日本語訳コンテンツやC言語学習者向けの言語チュートリアルを掲載しています。
C言語などのプログラミング経験者に対して、Go言語の技術や知識の確認などに用いられるサービスです。
7.@IT(http://www.atmarkit.co.jp/fcoding/index/go.html)
IT技術者向けの情報サービスサイト「@IT」のGo言語入門記事です。Go言語の登場背景やを説明したり、Go言語の特徴であるゴルーチンやFizzBuzzを例としたGo言語の機能などを解説しています。
8.gihyo.jp(http://gihyo.jp/dev/feature/01/go_4beginners)
IT技術者向けの情報サービスサイト「gihyo.jp」のGo言語の入門記事です。全5章で構成されており、Go言語の特徴や環境構築の方法、基本文法、構造体、並行プログラミングなどについて分かりやすくまとめています。
まとめ
現在、Go言語に関する日本語の情報サイトは多くはありません。しかし、今回紹介した学習サイトなどの技術者向けの無料サービスを利用することで、より簡単にGo言語を理解したり、実際に試してみたりすることも可能です。
今後ますます採用事例が増えていくことが予想されます。もっと容易にプログラミングを行いたいという方は、この機会にぜひGo言語を学んでみてはいかがでしょうか。
- 高額案件を定期的に紹介してもらいたい
- 週2日、リモートワークなど自由な働き方をしてみたい
- 面倒な契約周りはまかせて仕事に集中したい
そのような方はぜひ、ITプロパートナーズをご利用ください!
まずは会員登録をして案件をチェック!