Go言語で超簡単なアプリケーションを開発してみた
こんにちは、今回はGo言語を使用したアプリケーションの作成を行っていきます。
Go言語はGoogleが開発したプログラミング言語で、C言語のようなシンプルな構文とJavaのような並行処理のサポートが特徴です。
Go言語を使用することで、高速で安全なアプリケーションを作成することができます。それでは、実際にアプリケーションを作成する手順を見ていきましょう。
1. Go言語のインストール
まずは、Go言語をインストールする必要があります。
Go言語の公式サイトから、自分の環境に合ったインストーラーをダウンロードし、インストールしてください。
インストールが完了したら、コマンドラインから以下のコマンドを実行し、バージョンを確認してください。
go version
バージョンが表示されたら、Go言語のインストールは完了です。
2. アプリケーションの作成
まずは、アプリケーションのファイルを作成します。
以下のような内容で、main.goというファイルを作成してください。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
このプログラムは、画面に"Hello, World!"という文字列を表示するだけの簡単なプログラムです。
次に、以下のコマンドを実行し、プログラムを実行してください。
go run main.go
すると、画面に"Hello, World!"という文字列が表示されるはずです。
3. アプリケーションの機能追加
次に、アプリケーションに機能を追加してみましょう。
例えば、Webアプリケーションを作成する場合は、HTTPサーバーを起動する必要があります。
以下のような内容で、HTTPサーバーを起動するプログラムを作成してみましょう。
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, World!")
}
このプログラムは、8080ポートでHTTPサーバーを起動し、"/"というURLにアクセスされた場合に"Hello, World!"という文字列を表示します。
以下のコマンドを実行し、HTTPサーバーを起動してみましょう。
go run main.go
すると、コマンドライン上でHTTPサーバーが起動し、ブラウザから"http://localhost:8080/"にアクセスすると、"Hello, World!"という文字列が表示されます。
4. データベースの操作
次に、データベースを使用してデータを操作する方法を紹介します。
ここでは、SQLiteを使用してデータを操作するプログラムを作成してみましょう。
以下のような内容で、データベースに接続し、データを挿入するプログラムを作成してください。
package main
import (
"database/sql"
"fmt"
_ "github.com/mattn/go-sqlite3"
)
func main() {
db, err := sql.Open("sqlite3", "./test.db")
if err != nil {
panic(err)
}
defer db.Close()
_, err = db.Exec("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT)")
if err != nil {
panic(err)
}
stmt, err := db.Prepare("INSERT INTO users (name) VALUES (?)")
if err != nil {
panic(err)
}
defer stmt.Close()
_, err = stmt.Exec("John")
if err != nil {
panic(err)
}
rows, err := db.Query("SELECT id, name FROM users")
if err != nil {
panic(err)
}
defer rows.Close()
for rows.Next() {
var id int
var name string
err = rows.Scan(&id, &name)
if err != nil {
panic(err)
}
fmt.Println(id, name)
5. アプリケーションのパッケージ化
最後に、作成したアプリケーションをパッケージ化して、実行ファイルとして配布する方法を紹介します。
以下のような内容で、main.goと同じディレクトリにgo.modというファイルを作成してください。
module example.com/myapp
go 1.17
require (
github.com/mattn/go-sqlite3 v1.14.8
)
このファイルは、アプリケーションのモジュール情報を記述するためのファイルです。
次に、以下のコマンドを実行し、アプリケーションをビルドしてみましょう。
go build
すると、main.goと同じディレクトリに、myappという名前の実行ファイルが生成されます。
このファイルを別のコンピュータにコピーして実行することができます。
また、以下のようなコマンドを実行することで、実行ファイルをクロスコンパイルすることも可能です。
GOOS=linux GOARCH=amd64 go build
このコマンドは、Linux上で動作するアプリケーションをビルドするためのものです。
GOOSには、ビルドするOSの種類、GOARCHには、ビルドするCPUの種類を指定します。
クロスコンパイルすることで、複数のOSやCPUで動作する実行ファイルを生成することができます。
6. まとめ
今回は、Go言語を使用したアプリケーション作成のハンズオンを紹介しました。
Go言語は、シンプルで高速な言語であり、Webアプリケーションやシステム開発など、さまざまな用途に利用することができます。
また、豊富な標準ライブラリやサードパーティライブラリが存在し、開発効率を向上させることができます。
今後も、Go言語を使った開発に挑戦してみてください。