Go言語で作るコマンドラインアプリ

WordPress

Go言語ではスタンドアロンアプリケーションを簡単に作ることができます。ここでは、コマンドラインツールとしてのスタンドアロンアプリの具体例を示します。

アプリ概要 このアプリは、指定されたディレクトリ内のファイルを検索し、特定の拡張子を持つファイルの一覧を表示します。

ステップ1: ディレクトリの作成 まず、新しいディレクトリを作成します。

mkdir filesearch
cd filesearch

ステップ2: main.goファイルの作成 main.goファイルを作成し、以下のコードを記述します。

package main

import (
"flag"
"fmt"
"io/ioutil"
"path/filepath"
)

func main() {
// コマンドライン引数のパースフラグを定義
dir := flag.String("dir", ".", "検索対象のディレクトリ")
ext := flag.String("ext", ".go", "検索対象の拡張子")
flag.Parse()

// ディレクトリ内のファイルを走査
files, err := ioutil.ReadDir(*dir)
if err != nil {
fmt.Println("Error:", err)
return
}

// 指定された拡張子を持つファイルを出力
fmt.Printf("検索対象: %s (拡張子: %s)\n", *dir, *ext)
for _, file := range files {
if filepath.Ext(file.Name()) == *ext {
fmt.Println(file.Name())
}
}
}

コード説明

  • flagパッケージを使って、コマンドライン引数をパースしています。-dirフラグで検索対象のディレクトリ、-extフラグで検索対象の拡張子を指定できます。
  • ioutil.ReadDir関数を使って、指定されたディレクトリ内のファイルとディレクトリの一覧を取得しています。
  • filepath.Ext関数を使って、ファイルの拡張子を取得し、指定された拡張子と一致するファイル名を出力しています。

ステップ3: アプリケーションのビルド Go言語のアプリケーションは、単一の実行可能バイナリとしてビルドすることができます。ターミナル(コマンドプロンプト)で以下のコマンドを実行します。

go build

これにより、filesearch(Windowsの場合はfilesearch.exe)という実行可能バイナリファイルが生成されます。

ステップ4: アプリケーションの実行 ビルドしたバイナリを実行して、アプリケーションをテストします。

./filesearch -dir=/path/to/dir -ext=.txt

出力例:

検索対象: /path/to/dir (拡張子: .txt)
file1.txt
file2.txt

このようにして、Go言語を使ってスタンドアロンのコマンドラインツールを作成することができます。Go言語のクロスコンパイル機能を使えば、単一のバイナリをさまざまなプラットフォームで実行可能にすることもできます。

また、GUIアプリケーションやサーバーアプリケーションなど、さまざまな種類のスタンドアロンアプリを開発することも可能です。Go言語の標準ライブラリには、ネットワーク通信、ファイルI/O、データ処理などの機能が含まれているため、さまざまな用途のアプリケーションを開発できます。

コメント

タイトルとURLをコピーしました