[Golang] コーディングやビルド

2021-09-19 hit count image

GolangでHello worldを出力するプログラムを作成やビルドして見て、作成したプログラムを詳しく説明します。

概要

以前のブログポストではGolangをインストールして、Hello, World!が画面に出力されるプログラムをGolangを使って作成してみました。

今回のブログポストではもう一度Hello, World!が出力されるプログラムを生成して、当該プログラムをもうちょっと詳しく説明してみます。今回のブログポストで紹介するソースコードは下記のリンクで確認できます。

プログラム作成

Golangを使ってHello worldを出力するプログラムを作成してみましょう。Hello worldを画面に出力するプログラムを作るため、main.goファイルを生成して次のように修正します。

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

プログラムの作成が終わったら、次のコマンドを実行してプログラムを実行します。

go run main.go

そしたら、次のようにHello, World!が画面によく出力されることが確認できます。

Hello, World!

コード分析

次は、私たちがGolangで作成したHello worldを出力するソースコードを詳しくみてみましょう。

package main

packageはGolangでソースコードを結ぶ一つの単位です。Golangでプログラムを作成する時、全てのプログラムはpackageで始めます。このpackageは現在作成しているソースコードがどんなパッケージに所属されるか指定する役割をします。

パッケージ名はなんでも良いですが、パッケージ名がmainになってるソースコードが必ず必要です。package mainはプログラムのスタートポイントを持ってることを意味して、Golangはこのパッケージを基準としてプログラムを実行します。

Golangのプログラムはmainパッケージ1つと他の色んなパッケージで構成されます。

import "fmt"

fmtと言うパッケージをロード(import)することを意味します。パッケージはソースコードの集まりです。つまり、パッケージは色んな機能を持ってる1つの単位です。私たちはfmtパッケージが提供するPrintlnと言う機能を使ってHello, World!を出力する予定です。このようにパッケージが持ってる特定な機能を使いたい時は、当該パッケージをロードする必要があります。

func main() {
    ...
}

Golangでは関数を提起する時、funcと言うキーワードを使います。関数名はなんでも使えますが、関数名でmainを使って、Golangにプログラムのスタートポイントを教えてあげました。

つまり、Golangでプログラムを作成する時、名前がmainであるpackageが存在して、当該パッケージには名前がmainである関数が必ず存在している必要があります。そうしないと、Golangはプログラムのスタートポイントを探せないのでプログラムを実行することができません。

fmt.Println("Hello, World!")

私たちがインポートしたfmtパッケージが持っているPrintlnと言う関数(機能)をコールすることを意味します。

ビルド

このようにGolangで作成したプログラムはビルドして実行ファイルを作ることができますえ。実行ファイルを作るためにはModuleを生成する必要があります。次のコマンドを使ってModuleを生成します。

go mod init hello_world

モジュールの名前(hello_world)はなんでもいいですが、ユニークである必要があります。普通はプログラムが入ってるフォルダ名を使います。

このようにモジュールを生成するとフォルダ中にgo.modファイルが生成されたことが確認できます。

.
├── go.mod
└── main.go

次は下記のコマンドを実行してGolangで作成したプログラムをビルドします。

go build

ビルドが完了されると次のようにhello_worldファイルが新く生成されたことが確認できます。(各OSに合わせて実行ファイルが生成されます。macOSではない方はファイル名が違います。)

.
├── go.mod
├── hello_world
└── main.go

次は下記のコマンドを実行して私たちが作成したプログラムを実行してみます。

./hello_world

そしたら下記のようにプログラムが上手く実行されることが確認できます。

Hello, World!

完了

これでGolangで作成したHello worldプログラムを詳しくみてみました。また、Golangで作成したプログラムをビルドして実行ファイルを作って、実行ファイルを使ってプログラムを実行してみました。

私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!

アプリ広報

今見てるブログを作成たDekuが開発したアプリを使ってみてください。
Dekuが開発したアプリはFlutterで開発されています。

興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。

Posts