golangの始め方 これからGoエンジニアになるために知っておきたいこと
これからgolangを使ってエンジニアとして活躍していきたいという方も多くいることでしょう。
私自身もgolangでの開発を始めて1年ほどですが、だいぶ理解が深まってきました。まだまだ業務で使っていくには勉強していく必要はありますが、これまでの情報を整理していくという意味でもgolangの解説記事を連載で書いていこうと思います。
今回はその第一章ということでgolangとは、どういうプロダクトに使われているかなどの概要について綴っていこうと思います。
golangとは
golangはGoogleが2009年にオープンソースのプロジェクトとして公開されたプログラミング言語です。そもそもはGoogle社の課題を解決するために開発された言語で、開発速度を向上させ、静的解析しやすい言語を目標として開発されました。
Goの主な特徴として、以下のようなものが挙げられます。
言語仕様の特徴としては、冗長な記述が不要であったり、曖昧な記述ができないというものがあります。このへんに関しては実際にコーディングしていくことで感覚を掴みながら、言語の思想を理解していきましょう。
Goが使われているもの
最近では世の中的にもGoを用いた開発が進んでいます。特にWebでの開発が特に伸びています。
golangが使われている代表的なサービスとして以下のものがあります。
どれかは聞いたことくらいはあるサービスがあると思います。
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をもっと詳しくなりたい方に
初めてのGo言語
Go言語の入門から応用まではこの一冊で網羅されています。説明も順序立てて説明されており完成度の高い参考書となっています。
詳解Go言語Webアプリケーション開発
こちらはGo言語の基礎知識を得たあとに読むことをすすめる本となっています。ハンズオン形式で手を動かしながら実装をしていくことができるため、実際の開発を意識しながらGo言語を学ぶことができます。
以下の記事では他にも筆者が実際に読んでおすすめしたい本をまとめています。
【Go入門】Golang基礎入門 + 各種ライブラリ + 簡単なTodoWebアプリケーション開発(Go言語)
まだGo言語の勉強を始めていない方、全くの初心者の方にはこちらのUdemy教材が最もおすすめです。
この教材ではgolangの基礎について網羅的に学ぶことができます。ただ見て学ぶだけでなく、講座の中でアプリ作成まで行うことで学んだことの理解をさらに深めることができます。
現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発
個人的に最も勉強になったのは「現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発」という教材です。
本格的なレクチャーに入る前に、なぜGoなのか、なぜFintechなのかについて説明されていることで、Goの概念や意味について大枠から理解することができます。
以下の記事では筆者が実際に受講したおすすめUdemy教材をまとめています。
この記事が気に入ったらサポートをしてみませんか?