これからgolangを使ってエンジニアとして活躍していきたいという方も多くいることでしょう。
私自身もgolangでの開発を始めて1年ほどですが、だいぶ理解が深まってきました。まだまだ業務で使っていくには勉強していく必要はありますが、これまでの情報を整理していくという意味でもgolangの解説記事を連載で書いていこうと思います。
今回はその第一章ということでgolangとは、どういうプロダクトに使われているかなどの概要について綴っていこうと思います。
golangとは
golangはGoogleが2009年にオープンソースのプロジェクトとして公開されたプログラミング言語です。そもそもはGoogle社の課題を解決するために開発された言語で、開発速度を向上させ、静的解析しやすい言語を目標として開発されました。
Goの主な特徴として、以下のようなものが挙げられます。
- 初心者でも使いやすく学習コストが低い
- 処理速度が速い
- 並行処理が可能
- 標準ライブラリが豊富
- シングルバイナリ
- クロスコンパイル
Goのメリット、デメリットについては以下の記事で詳しく書いているので読んでみてください。
言語仕様の特徴としては、冗長な記述が不要であったり、曖昧な記述ができないというものがあります。このへんに関しては実際にコーディングしていくことで感覚を掴みながら、言語の思想を理解していきましょう。
Goが使われているもの
最近では世の中的にもGoを用いた開発が進んでいます。特にWebでの開発が特に伸びています。
golangが使われている代表的なサービスとして以下のものがあります。
- メルカリ
- ぐるなび
- Gunosy
- ピクシブ
- AWA
- クックパッド
- Schoo
どれかは聞いたことくらいはあるサービスがあると思います。
Goを学ぶためには
正しい情報で学んでいきたいのであれば公式チュートリアルです。ブラウザ上で実行しながら確認できるのは嬉しいポイントです。
golangを本で学ぶ
一から始めるのはあれば「基礎からわかる Go言語」がおすすめです。
基礎を学んで仕事として使っていくレベルであれば「みんなのGo言語」がおすすめです。
goroutineを用いた並行処理について詳しくなっていきたい方はオライリーの「Go言語による並行処理」一択です。
オンラインで学ぶ
空いた時間で無理なく学習するにはドットインストールがおすすめです。本で自分で学んでいくよりも教えてもらいながら学習していきたい方はドットインストールを使ってみましょう。
一通り学んだら実際に手を動かしてコーディングしていきましょう。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をもっと詳しくなりたい方に
golang学習のために筆者が実際に受講したUdemy教材をまとめています。
golang学習のために筆者が実際に読んでおすすめしたい本をまとめています。