カテゴリー
サインイン 新規登録
学習時間 10時間
難易度 初級
質問投稿
価格 ¥1,480
月額 ¥2,980
Unlimited会員はこちらの教材を含む100種類以上のUnlimited対象教材が学び放題

手を動かしながら学ぶGo

QRコード生成ツールを作りながらGoの雰囲気を掴む! GoでQRコードを生成するCLIやWeb APIを作りながら、Goの文法について解説。構造体・ポインタ等の初学者が苦戦しがちな概念や、Goの強みや慣習についても丁寧に解説。とりあえず手を動かしながらGoに入門できる。

4.8
最終更新 2022/4
Ryoya Sekino

Goの基本についてQRコード作成ツールを作りながら詳しく解説

本教材では、Goの基本文法・概念からCLI・Webアプリケーションの作り方まで、Goの基本について実践ベースで学習できます。

コードを書いてツールを作りながら、都度手を止めて関連する文法について詳しく学習する形で進めていきます。

他の言語にも共通する基本文法だけでなく、構造体・ポインタなどの初学者が理解に苦しみがちな概念についても詳しく解説しています。

また、Goのコーディングルールや慣習を含め、Goのユニークな特徴については、その背景から解説しています。

Goを全く触ったことのない方でも、他の言語でアプリケーション等を作ったことがあれば取り組むことのできる内容となっています。

ぜひ、Goに興味があるけどまだ触ったことがない(もしくは少しだけ触ったことがある)方に、「Goってどんな言語」なのかを手を動かしながら学んで頂ける内容となっています。

ぜひGoに入門する足がかりとして本教材を利用してもらえればと思います。

学習内容

  • Goの基本文法・概念
    • 構造体
    • ポインタ
    • インターフェイス
    • 関数・メソッド
    • 変数
    • モジュール管理
    • パッケージ
    • 配列/スライス
    • エラーハンドリング
  • Goでの開発の始め方
  • ビルド・起動方法
  • Goの基本的な慣習
  • Goでのファイルシステムとのやりとり
  • Goでのコマンドラインツールの作成
  • GoでのHTTPのAPIサーバーの立て方

作成物のイメージ

1. CLI
ターミナルで動かすアプリケーションです。URLをコマンドから受け取って、QRコードをその場でファイルとして吐き出すイメージです。
CLIを作ることで、まずGoのプログラムを動かす方法、コマンドラインフラグやファイルシステムとのやり取りの方法などを体験していきます。

Image from Gyazo

2. HTTP アプリケーション
HTTPのアプリケーションです。URLをリクエストで受け取って、QRコードの画像データを返却します。
APIを操作するHTML/CSS/JavaScriptを用意することで、下記のような挙動になります。

Image from Gyazo

※ HTML/CSS/JavaScriptは用意したものを使用して頂き、解説はしません。Goで作るものは、この画面から呼ばれるHTTPのAPIです。

本教材の対象者

この教材は、他の言語をある程度習得している方で、Goに興味がある(けどまだよくわからない、やったことがない)という方を対象としています。

受講における必要条件

いずれかの言語で基本的なプログラミングの文法やWebアプリケーション・Web APIの仕組みをある程度理解している方。
具体的には以下のような点を理解・経験をしている方を対象としています。

  • いずれかの言語での基本的なプログラミングの文法
    • 条件分岐、繰り返し
    • 変数
    • 関数・メソッド
    • 数値・文字列・booleanなどの基本データ型 (静的型付け言語を触ったことがなくても、データには型が存在しうることを知っていれば問題ありません)
    • 集合型(配列)
  • Webアプリケーション・Web APIの作り方
    • Ruby on Railsなどのフレームワークを利用した作り方で問題ありません
    • 高度な機能開発、DBなどの周辺の仕組み、アーキテクチャなどのアプローチの理解は必要ありません
  • Linuxの基本コマンド
    • cd, touch等の基本コマンド(知らないコマンドがあっても調べて使えれば問題ありません)

学ばないこと

  • QRコード画像自体の仕組み

    • QRコード自体の作成は、外部のパッケージを利用するため、QRコードの仕組みやプログラミング自体を学ぶ教材ではありません。
  • HTML/CSS/JavaScript

    • 本教材で作成するAPIの挙動を確認するために、HTMLファイルを用意しておりますが、あくまで結果を確認するためのものであり、HTML/CSS/JavaScriptについては学習しません。
  • プログラミング一般・HTTPについての解説

    • プログラミング自体や、Webアプリケーション・HTTP API自体の解説は行いません。

本教材の対応バージョン

Go1.17以上

本教材はGo1.17以上を想定しております。
ただし、1.13以上であれば対応はしていると思います(稼働保証はありません)。
特に理由がなければ、Go1.17以上を利用することを推奨します。

本教材で質問対応可能なOSや環境

macOS Big Sur以上

また、いずれも稼働保証はありませんが、以下の環境でも対応できるとは思われます。

  • Big Sur以前のmac OS
    • どこまで古いバージョンに対応しているかはわかりません
  • Linux
  • Windows
    • カリキュラム内で利用するコマンドについては、Windows用に読み替える必要があります。

カリキュラム

Section 0 はじめに
Section 1 新規プロジェクトの作成
Section 2 CLIスクリプトを作成する
  • 2-1 コマンドライン引数を受け取る
  • 2-2 ファイルを生成機能の作成

講師のプロフィール

教材のレビュー

4.8
4件の評価
75%
25%
0%
0%
0%
EITO 1年以上前
初めてgoに触りましたが、文法を細かいところまでわかりやすく学習できました。初学者や、他の言語に触れたことがある方におすすめです。最後まで取り組めました。ただ、http自体についての説明などは無かったため、詳しく知りたいのであればネットやサーバー自体の仕組みについては別途学習する必要があるかと思います。
岡田佳久 1年以上前
とても良い内容でしたが、少しボリュームが少なかったかもです。 QRコードを作成する部分が丸々外部のサービスを使っていたので値段がもう少し安ければなと思いました。
tyu 1年以上前
ページが長すぎず、必要な情報がまとまっていてとても理解しやすかったです。 今後、中級者向けのアプリケーションやGoのフレームワークを使用したアプリケーションなどの教材が発売されることを勝手に願っています。