テスト駆動開発でGO言語を学びましょう
  • テスト駆動開発でGO言語を学びましょう
  • Go言語:基礎
    • Goをインストールする
    • Hello, World
    • 整数
    • 反復、繰り返し
    • 配列とスライス
    • 構造体、メソッド、インターフェース
    • ポインタとエラー
    • マップ
    • 依存性注入
    • スタブ・モック
    • 並行性
    • 選択
    • リフレクション
    • 同期
    • コンテキスト
    • プロパティベースのテスト概要
    • 数学
  • アプリケーションを構築する
    • はじめに
    • HTTPサーバー
    • JSON、ルーティング、埋め込み
    • IO、並び替え
    • コマンドライン、パッケージ構造
    • 時間
    • ウェブソケット
  • 質問と答え
    • OS実行
    • エラーの種類
    • コンテキスト認識リーダー
    • HTTPハンドラーの再検討
  • メタ
    • ユニットテスト機能を作成する方法
    • 貢献
GitBook提供
このページ内
  • Go 環境
  • Go Modules
  • Go リンター
  • リファクタリングとあなたのツーリング
  • まとめ

役に立ちましたか?

  1. Go言語:基礎

Goをインストールする

Install Go

前へテスト駆動開発でGO言語を学びましょう次へHello, World

最終更新 3 年前

役に立ちましたか?

Goの公式インストール手順は、から入手できます。

Go 環境

Go Modules

Go 1.11からが導入されました。 この方法は Go 1.16 以降のデフォルトのビルドモードなので、GOPATH の使用は推奨されません。

モジュールは、依存関係管理、バージョン選択、再現性のあるビルドに関連する問題を解決することを目的としており、ユーザは GOPATH の外で Go コードを実行することもできます。

モジュールの使用方法は非常に簡単です。GOPATH外の任意のディレクトリをプロジェクトのルートとして選択し、go mod initコマンドで新しいモジュールを作成します。

ファイル go.modが生成され、モジュールのパス、Go のバージョン、依存関係の要件が含まれています。

<modulepath>が指定されていない場合、go mod initはディレクトリ構造からモジュールのパスを推測しようとしますが、引数を与えることでそれを上書きすることもできます。

mkdir my-project
cd my-project
go mod init <modulepath>

go.modファイルは次のようになります。

module cmd

go 1.16

組み込みのドキュメントには、利用可能なすべてのgo modコマンドの概要が記載されています。

go help mod
go help mod init

Go リンター

以下のようにインストールすることができます。

brew install golangci/tap/golangci-lint

リファクタリングとあなたのツーリング

このサイトでは、リファクタリングの重要性を重視しています。

あなたのツールは、より大きなリファクタリングを自信を持って行うのに役立ちます。

エディタを使いこなせば、簡単なキーの組み合わせで以下のことができるようになるはずです。

  • 変数を抽出する/インライン変数。魔法の値を取得して名前を付けることができるので、コードを素早くシンプルにすることができます。

  • メソッド/関数を抽出する。コードの一部を取り出して、関数/メソッドを抽出できることが重要です。

  • リネーム。ファイル間でシンボルの名前を自信を持って変更できるようになるはずです。

  • Go fmt. Goには、go fmtと呼ばれるオピニオン付きフォーマッタがあります。エディタはファイルを保存するたびにこれを実行しなければなりません。

  • テストの実行。上記のいずれかを実行して、リファクタリングが何も壊れていないことを確認するために、すぐにテストを再実行できるようにすべきであることは言うまでもありません。

さらに、あなたのコードで作業するのを助けるために、あなたができるようにする必要があります。

  • 関数のシグネチャを表示 - Goの関数の呼び出し方がわからなくなってはいけません。IDEは、関数のドキュメント、パラメータ、戻り値を記述しなければなりません。

  • 関数の定義を表示 - 関数が何をするのかわからない場合は、ソースコードを参照して自分で考えてみてください。

  • シンボルの使用法を見る - 呼び出された関数のコンテキストを見ることができると、リファクタリングを行う際の意思決定プロセスに役立ちます。

ツールを使いこなせば、コードに集中でき、コンテキストの切り替えを減らすことができます。

まとめ

この時点で、Goがインストールされていて、エディタが利用可能で、基本的なツールがいくつか用意されているはずです。Goには、サードパーティ製品の非常に大きなエコシステムがあります。ここでは、便利なコンポーネントをいくつか紹介します。

デフォルトのリンターに対する改良は、を使用して構成できます。

を参照してください。

こちら
Modules
GolangCI-Lint
https://awesome-go.com