見出し画像

golangの始め方 これからGoエンジニアになるために知っておきたいこと

これからgolangを使ってエンジニアとして活躍していきたいという方も多くいることでしょう。

私自身もgolangでの開発を始めて1年ほどですが、だいぶ理解が深まってきました。まだまだ業務で使っていくには勉強していく必要はありますが、これまでの情報を整理していくという意味でもgolangの解説記事を連載で書いていこうと思います。

今回はその第一章ということでgolangとは、どういうプロダクトに使われているかなどの概要について綴っていこうと思います。


golangとは

golangはGoogleが2009年にオープンソースのプロジェクトとして公開されたプログラミング言語です。そもそもはGoogle社の課題を解決するために開発された言語で、開発速度を向上させ、静的解析しやすい言語を目標として開発されました。

Goの主な特徴として、以下のようなものが挙げられます。

・初心者でも使いやすく学習コストが低い
・処理速度が速い
・並行処理が可能
・標準ライブラリが豊富
・シングルバイナリ
・クロスコンパイル

言語仕様の特徴としては、冗長な記述が不要であったり、曖昧な記述ができないというものがあります。このへんに関しては実際にコーディングしていくことで感覚を掴みながら、言語の思想を理解していきましょう。


Goが使われているもの

最近では世の中的にもGoを用いた開発が進んでいます。特にWebでの開発が特に伸びています。

golangが使われている代表的なサービスとして以下のものがあります。

・メルカリ
・ぐるなび
・Gunosy
・ピクシブ
・AWA
・クックパッド
・Schoo

どれかは聞いたことくらいはあるサービスがあると思います。


Goを学ぶためには

正しい情報で学んでいきたいのであれば公式チュートリアルです。ブラウザ上で実行しながら確認できるのは嬉しいポイントです。


golangを本で学ぶ

一から始めるのはあれば「基礎からわかる Go言語」がおすすめです。

基礎を学んで仕事として使っていくレベルであれば「みんなのGo言語」がおすすめです。

goroutineを用いた並行処理について詳しくなっていきたい方はオライリーの「Go言語による並行処理」一択です。


オンラインで学ぶ

ドットインストール

空いた時間で無理なく学習するにはドットインストールがおすすめです。本で自分で学んでいくよりも教えてもらいながら学習していきたい方はドットインストールを使ってみましょう。

paizaラーニング

一通り学んだら実際に手を動かしてコーディングしていきましょう。paizaでは豊富な練習問題がそろっているので、技術を素早く手に入れることができます。


Goを始める

Goを始めるには下記の公式サイトからダウンロードしましょう。

開発していく予定のOSから対象のファイルを選びます。

私はwindosでインストーラーのみでよかったので、go1.19.windows-amd64.msiをダウンロードしてインストールを進めていきます。

インストールが完了したらコマンドラインを使って以下のコマンドを実行して、インストールされているかどうか確認します。

$ go version
go version go1.19 windows/amd64


Hello world!!

goのインストールが完了したら、いつものHello worldをしましょう。

VS Codeを使ってHello worldをする場合は、「~~.goというファイルを適当に作って以下のようなコードを書きます。

package main

func main() {
	println("Hello wolrd!!")
}

あとはターミナルからgoファイルを実行すればHello worldができます。

$ go run main.go 
Hello wolrd!!


golangをもっと詳しくなりたい方に

初めてのGo言語

Go言語の入門から応用まではこの一冊で網羅されています。説明も順序立てて説明されており完成度の高い参考書となっています。


詳解Go言語Webアプリケーション開発

こちらはGo言語の基礎知識を得たあとに読むことをすすめる本となっています。ハンズオン形式で手を動かしながら実装をしていくことができるため、実際の開発を意識しながらGo言語を学ぶことができます。

以下の記事では他にも筆者が実際に読んでおすすめしたい本をまとめています。


【Go入門】Golang基礎入門 + 各種ライブラリ + 簡単なTodoWebアプリケーション開発(Go言語)

まだGo言語の勉強を始めていない方、全くの初心者の方にはこちらのUdemy教材が最もおすすめです。

この教材ではgolangの基礎について網羅的に学ぶことができます。ただ見て学ぶだけでなく、講座の中でアプリ作成まで行うことで学んだことの理解をさらに深めることができます。


現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発

個人的に最も勉強になったのは「現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発」という教材です。
本格的なレクチャーに入る前に、なぜGoなのか、なぜFintechなのかについて説明されていることで、Goの概念や意味について大枠から理解することができます。

以下の記事では筆者が実際に受講したおすすめUdemy教材をまとめています。

※本ページではアフィリエイトリンク(PR)が含まれています


この記事が気に入ったらサポートをしてみませんか?